Меня немного смущает различие в подходе между использованием индекса и диапазона ключей.
В хранилище объектов indexedDB с составным ключом, таким как массив [ topic, note ]
, в которомчасть составного ключа, здесь topic
, также является индексом в хранилище объектов. Не могли бы вы объяснить, есть ли разница между следующим?Обратите внимание, что k
просто возвращает диапазон ключей всех записей с одинаковым значением topic.value.
Одна из причин, по которой я спрашиваю, связана с утверждением во втором абзаце этого документа MDN об использовании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 );