Javascript 如何获取使用dexie js即时添加的值的id?

Javascript 如何获取使用dexie js即时添加的值的id?,javascript,dexiejs,Javascript,Dexiejs,如何访问我已经添加的项目的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

如何访问我已经添加的项目的
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);
          });

}
我在将来帮助任何人时都会得到不精确的

最终通过黑客破解解决了问题。

    var db = new Dexie('FRIENDS');
    db.version(1).stores({
    friends: '++id,name,age,loves'
                });
    db.friends.add({
        name: 'user',
        age: 23,
        loves:'water',
    }).then(()=>{
db.friends.each(friend=>{
            window.lastId = { id:friend.id };
        })
.then(()=>{
   console.log(window.lastId.id)
});
});


正确答案是:创建的id将作为promise中的参数传递。 文档中的示例:

db.table('todos')
.添加(待办事项)
。然后((id)=>{
// ...
});
或以异步等待样式返回:

const id=wait db.table('todo').add(todo);
在您的示例中,使用了错误的
.get()
方法语法。正确答案是:

table.get({keyPath1:value1,keyPath2:value2,…});
//例如。
table.get({id:15})
//或
db.friends.add({
名称:“用户”,
年龄:23,,
爱:'水',
}).然后(函数(id){
返回db.friends.get({id});
})