0

我有一个 IDB 对象存储“feeditems”,其键路径为 ["feed_id","item_id"],并且os.put({feed_id:1,item_id:2,text:"foo"});可以正常插入对象。

现在我想计算所有 feed_id 为 13 的 feeditems。问题是,即使是https://developer.mozilla.org/en-US/docs/Web/API/IDBObjectStore上通常很好的 MDN 文档只说键参数是“标识要计数的记录的键或键范围。”,但os.count({feed_id:13})失败并出现DataError异常“参数不是有效键。”。

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

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

4

1 回答 1

1

您仍然需要为feed_id要查询的字段 编制索引。然后计算索引。复合索引与此查询无关。

var index = objectStore.index('feed_id');
var req = index.count(IDBKeyRange.only(13);
于 2013-10-30T21:00:33.670 回答