我对使用索引和键范围之间的方法差异感到困惑。
在带有复合键的indexedDB对象存储中,例如数组[ topic, note ]
,其中一部分复合键(这里为topic
)也是对象存储中的索引,请解释以下内容之间是否有区别?请注意,k
仅返回具有相同topic_value的所有记录的键范围。
我问的一个原因是因为该MDN document第二段中的陈述涉及在有关“性能成本”和“延迟创建的对象”的索引上使用getAll
。
谢谢。
o = T.objectStore( 'notes' ).index( 'topic' )
req = o.getAll( topic_value );
和
o = T.objectStore( 'notes' ).
k = IDBKeyRange.bound( [ topic_value, 0 ], [ topic_value + 1, 0 ], false, true );
req = o.getAll( k );
答案 0 :(得分:0)
当您将非IDBKeyRange值指定为getAll
时,将暗示IDBKeyRange.only(value)
。
例如,getAll(value)
等效于getAll(IDBKeyRange.only(value))
。
这同时适用于store.getAll
和store.index().getAll
,因为两者之间没有区别。