猿问

如何获取我使用 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


泛舟湖上清波郎朗
浏览 184回答 2
2回答

明月笑刀无情

正确答案是:created 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})// ordb.friends.add({        name: 'user',        age: 23,        loves:'water',    }).then(function(id){         return db.friends.get({id});    })
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答