下限範囲クエリでカーソルを使用しています。データベースの「LIMIT n」句のように、返されるオブジェクトの数を制限する方法が見つかりません。
var keyRange = IDBKeyRange.lowerBound('');
存在しませんか?
下限範囲クエリでカーソルを使用しています。データベースの「LIMIT n」句のように、返されるオブジェクトの数を制限する方法が見つかりません。
var keyRange = IDBKeyRange.lowerBound('');
存在しませんか?
結果を反復処理しているときは、いつでも停止できます。このようなものが動作するはずです:
var results = [];
var limit = 20;
var i = 0;
objectStore.openCursor().onsuccess = function (event) {
var cursor = event.target.result;
if (cursor && i < limit) {
results.push(cursor.value);
i += 1;
cursor.continue();
}
else {
// Do something with results, which has at most 20 entries
console.log(results);
}
};
また、連番で構成されるキーに基づいて選択する特殊なケースでは、keyRange を使用して特定の範囲のみを明示的に返すことができます。しかし、一般的にはそうではありません。
IDBKeyRange.bound
関数を使用して indexedDB の範囲で検索することもできます
IDBKeyRange.bound(keyValueFrom, keyValueTo, false, true);
開始値、終了値、および返されるアイテムに開始値と終了値を含めるかどうかを設定できます。私の場合、範囲の最初の値が必要ですが、最後の値を除外したいです。
IDBKeyRange の詳細については、W3C IndexedDB ページをご覧ください。