如何获取我使用 dexie js 立即添加的值的 ID?
How do i get the id of a value i immidietly added using dexie js?
我如何访问我已添加的项目的 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
将来帮助其他人
最终通过破解解决了问题。
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')
.add(todo)
.then((id) => {
// ...
});
或以异步等待方式返回:
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});
})
我如何访问我已添加的项目的 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
将来帮助其他人
最终通过破解解决了问题。
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')
.add(todo)
.then((id) => {
// ...
});
或以异步等待方式返回:
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});
})