Linq 2 IndexedDB:如何检索最后插入的自动递增密钥?

时间:2012-08-14 15:51:39

标签: indexeddb winjs

我在Windows8应用程序中使用IndexedDB(通过Linq2IndexedDB块)来处理本地存储。我需要检索插入到我的本地数据库中的最后一个自动递增的ID(相当于mysql_insert_id)。我该怎么办?

我用以下内容检索我的记录:

db.linq.from("favoriteSearches").select().then(function(searches) {
    // ....
});

但我在搜索中没有关键字的痕迹。

1 个答案:

答案 0 :(得分:2)

如果对象库具有keyPath,则该对象将包含键路径中定义的属性中的键。

如果未定义数据库配置,则linq2indexeddb将以自动生成模式运行。这意味着在您需要时可以创建对象存储和索引。如果是这种情况并且自动创建了对象存储,则对象存储的keyPath为“Id”,并且在返回数据中,您应该在“Id”属性中找到键值

编辑: 如果您使用最新版本的linq2indexedDB lib 1.0.13,则在插入数据时将返回密钥

db.linq.from("favoriteSearches").insert(data).then(function (args){ 
    var key = args.key;
    var data = args.data;
})