2015-04-26 31 views
-1

我傾向於通過這兩個查詢之一來查詢最新的記錄。IDBKeyRange - openCursor vs獲取最新的行

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一個想法。

以上查詢是否輸出相同的記錄?

回答

1

get查詢找到第一個匹配對象。這類似於打開一個向前移動的遊標,當你沒有爲openCursor指定第二個參數,或者當你指定'next'參數時會發生這種情況。

您打開了第二個參數爲'prev'的遊標,該遊標從最後一個匹配對象開始並向後移動。

顯然,匹配對象集合中的第一個和最後一個對象不是同一個對象,除非總共只有一個匹配對象。

+0

在問這樣的問題之前,我應該先洗臉。謝謝你的時間。 – Lewis