JavaScript:如何从IndexedDB检索最新记录?
我正在写一个用户脚本,它的主要目标是跟踪观看的剧集。在IndexedDB中,我有一个objectStore({keyPath:'session',autoIncrement:true})JavaScript:如何从IndexedDB检索最新记录?,javascript,indexeddb,Javascript,Indexeddb,我正在写一个用户脚本,它的主要目标是跟踪观看的剧集。在IndexedDB中,我有一个objectStore({keyPath:'session',autoIncrement:true})watchedList,其中包含对象{session:[sessions id],currentTime:[session watched note here]}。我现在的问题是:如何从watchedList检索最新记录 我正在使用IndexedDB API。这就是我的方法 db.get('watchedLi
watchedList
,其中包含对象{session:[sessions id],currentTime:[session watched note here]}
。我现在的问题是:如何从watchedList
检索最新记录
我正在使用IndexedDB API。这就是我的方法
db.get('watchedList', IDBKeyRange.lowerBound(1)).then(data => {
console.log(data);
})
db.getAll('watchedList').then(data => {
console.log(data);
})
db.getAll('watchedList', null, 1).then(data => {
console.log(data);
})
1:将记录第一条记录(最低id)
2:将首先记录具有最低ID的阵列
3:将使用第一条记录记录数组
如何对结果进行排序
用以下方法实现我的目标是一个好主意吗
db.getAll('watchedList').then(data => {
console.log(data.pop());
})
尝试使用
openCursor
并将方向参数指定为prev尝试使用openCursor
并将方向参数指定为prev我认为IndexDB不能提供这样的功能。你得自己做。我将创建另一个存储,您可以在其中保存主键引用的最后输入的项目。谢谢@NickHTTPS。我认为节省时间并为其创建索引(而不是另一个objectStore)可能是个好主意。你帮我想出了这个主意:)谢谢。是的,这实际上是一个更好的主意:)我不认为IndexDB提供了这样的东西。你得自己做。我将创建另一个存储,您可以在其中保存主键引用的最后输入的项目。谢谢@NickHTTPS。我认为节省时间并为其创建索引(而不是另一个objectStore)可能是个好主意。你帮我想出了这个主意:)谢谢。是的,这实际上是个更好的主意:)我以前从未用过游标。也许以后需要。目前,创建一个保存了时间记录的索引做得很好。谢谢我以前从未用过游标。也许以后需要。目前,创建一个保存了时间记录的索引做得很好。谢谢