Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/408.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
JavaScript:如何从IndexedDB检索最新记录?_Javascript_Indexeddb - Fatal编程技术网

JavaScript:如何从IndexedDB检索最新记录?

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

我正在写一个用户脚本,它的主要目标是跟踪观看的剧集。在IndexedDB中,我有一个objectStore({keyPath:'session',autoIncrement:true})
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)可能是个好主意。你帮我想出了这个主意:)谢谢。是的,这实际上是个更好的主意:)我以前从未用过游标。也许以后需要。目前,创建一个保存了时间记录的索引做得很好。谢谢我以前从未用过游标。也许以后需要。目前,创建一个保存了时间记录的索引做得很好。谢谢