0

キーパス ["feed_id","item_id"] を持つ IDB オブジェクト ストア "feeditems" があり、正常にos.put({feed_id:1,item_id:2,text:"foo"});動作するオブジェクトを挿入します。

ここで、feed_id が 13 であるすべてのフィード項目の数を取得したいと思います。 key パラメーターは「カウントされるレコードを識別するキーまたはキー範囲」であるとだけ言いますが、 「パラメーターは有効なキーではありません」os.count({feed_id:13})という例外で失敗しDataErrorます。

では、feed_id==x を持つすべてのアイテムの数を取得するにはどうすればよいでしょうか?

一意性は feed_id と item_id の組み合わせのみであることに注意してください - {feed_id:1,item_id:1} を持つ 1 つのエントリと {feed_id:2,item_id:1} を持つエントリが 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 に答える