我倾向于通过这两个查询之一查询最新记录。
var range = IDBKeyRange.bound([1,0],[1,Date.now()]);
var article = db.transaction('article').objectStore('article').index('userid-date_created');
article.openCursor(range,'prev').onsuccess = function(e){
var rowA = e.target.result.value;
};
//or
article.get(range).onsuccess = function(e){
var rowB = e.target.result;
};
openCursor
方法显然有效,但我不知道get
方法。
上述查询是否输出相同的记录?
答案 0 :(得分:1)
get查询找到第一个匹配的对象。这类似于打开向前移动的光标,当您没有为openCursor指定第二个参数时,或者当您指定'next'参数时,会发生这种情况。
你打开了一个带有第二个参数'prev'的光标,它从最后一个匹配的对象开始并向后移动。
显然,匹配对象集合中的第一个和最后一个对象不是同一个对象,除非总共只有一个匹配对象。