javascript - 如何获取使用 dexie js 立即添加的值的 id?
问题描述
我如何访问id
我已经添加的项目,因为这些项目偶尔会被删除,增加的 id 不统一。
我已经尝试过,如文档中所述
var db = new Dexie('FRIENDS');
db.version(1).stores({
friends: '++id,name,age,loves'
});
db.friends.add({
name: 'user',
age: 23,
loves:'water',
}).then(function(){
return db.friends.get('user');
}).then(function (res) {
console.log(res.id);
}).catch(function(error) {
console.log ("Ooops: " + error);
});
}
我明白了undifined
解决方案
正确答案是:创建的 id 将作为参数在 promise 中传递。文档中的示例:
db.table('todos')
.add(todo)
.then((id) => {
// ...
});
或以 async-await 样式返回:
const id = await db.table('todo').add(todo);
在您的示例中,您使用了错误的方法语法.get()
。正确的是:
table.get({keyPath1: value1, keyPath2: value2, ...});
// e.g.
table.get({id: 15})
// or
db.friends.add({
name: 'user',
age: 23,
loves:'water',
}).then(function(id){
return db.friends.get({id});
})
推荐阅读
- javascript - 如何检查具有模糊性的字符串中的子字符串?
- c# - String 为空,但 ModelState 仍然有效,并通过各种注释使其无效
- ios - ALAMOFIRE 发布请求图像下载和集合视图中的绑定
- cordova - 科尔多瓦人行横道模糊内容
- javascript - 如何自动增长具有可变字体大小的文本框
- node.js - 无法为 ios 注册推送通知(Azure 移动应用、Node js sdk、ionic 2)
- f# - 如何在 f# 中将 JObject 转换为 JArray
- php - 数组中的数据不一样
- java - 使用动态键获取 LinkedHashMapValue
- c# - C#_Timer/Stopwatch 无法从从数据库中提取的时间继续