IndexedDb获取索引中的所有匹配项

时间:2015-03-31 14:50:21

标签: javascript jquery google-chrome indexeddb

在IndexedDb中,我有一个像这样的索引:

store.createIndex('distinctEqual', 'distinctEqualString', {unique: false});

当我这样做时:

var tx = db.transaction(dbSettings.objectStore, "readwrite");
var store = tx.objectStore(dbSettings.objectStore);
var index = store.index('distinctEqual');
var reqIndex = index.get("pippo");

是否可以获得所有出现的" pippo"没有在IndexedDb索引中使用游标?

修改

如果我这样做:

var cursorIndex =       
index.openKeyCursor(IDBKeyRange.only(currItem.distinctEqualString));
cursorIndex.onsuccess = function(evt) {
    //Can I know how many elements are there in cursorIndex?
};

在评论中,我可以知道cursorIndex中有多少个元素?

2 个答案:

答案 0 :(得分:1)

您将需要使用游标。这是使用游标的原因。

答案 1 :(得分:0)

get只返回符合keyrange的第一个项目。如果要全部检索,可以像上面提到的那样使用光标。如果您想知道项目数量,可以使用count方法。