Google chrome 如何对复合键使用IndexedDB计数方法?

Google chrome 如何对复合键使用IndexedDB计数方法?,google-chrome,indexeddb,Google Chrome,Indexeddb,我有一个IDB对象存储区“feeditems”,其键路径为[“feed_id”,“item_id”],插入对象时使用os.put({feed_id:1,item_id:2,text:“foo”})工作正常 现在,我想对feed_id为13的所有feeditems进行计数。问题是,即使是通常很好的MDN文档,至少也只会说键参数是“标识要计数的记录的键或键范围”,然而os.count({feed\u id:13})失败,出现DataError异常“该参数不是有效的键” 那么,如何获得feed_id=

我有一个IDB对象存储区“feeditems”,其键路径为[“feed_id”,“item_id”],插入对象时使用
os.put({feed_id:1,item_id:2,text:“foo”})工作正常

现在,我想对feed_id为13的所有feeditems进行计数。问题是,即使是通常很好的MDN文档,至少也只会说键参数是“标识要计数的记录的键或键范围”,然而
os.count({feed\u id:13})
失败,出现
DataError
异常“该参数不是有效的键”

那么,如何获得feed_id==x的所有项的计数(以及稍后如何迭代)


请注意,唯一性仅针对feed_id和item_id组合-很可能有一个条目具有{feed_id:1,item_id:1}和一个条目具有{feed_id:2,item_id:1}

您仍然需要索引要查询的字段
feed\u id
。然后计算索引。复合索引与此查询无关

var index = objectStore.index('feed_id');
var req = index.count(IDBKeyRange.only(13);

在Chrome的Inspector中查看时,“feeditems”对象存储中有6项,但两个索引都是空的:/噢,忘了我说的。jquery.indexeddb与indexeddb API规范不太一致(并且不支持范围计数)。