我正在使用 Dexie 来处理 IndexedDB。我在用着:
db.version(1).stores({
activities: '++LocalActivityId'
});
让 PK LocalActivityId 自动递增/分配。
当我使用put时:
db.activities.put(activity).then(function(newId){
// don't even need to use "newId", the value is already assigned to my object
console.log("This will have the new LocalActivityId " + activity.LocalActivityId );
});
它使用数据库中的新值将 LocalActivityId 分配给我的对象,但是当我尝试 bulkPut 时,它不会这样做:
db.activities.bulkPut(activities).then(function (lastKey) {
console.log("There is nothing here: " + activities[0].LocalActivityId);
});
bulkPut 也只返回最后一个新的 ID,所以我没有简单的方法来获取刚刚插入的所有对象的 ID。
这是预期的行为吗?
如果这是意料之中的,如果人们尝试批量插入对象并且需要知道分配给这些对象的新 ID,他们会怎么做?