IndexedDB: открыть курсор для конкретной записи без итерации - PullRequest
0 голосов
/ 01 июля 2019

В моей базе данных indexedDB мне нужно открыть курсор на одну конкретную запись, потому что я хочу вызвать функцию update курсора на этой записи, чтобы обновить атрибут сохраненного там объекта.

Моя текущая реализация состоит в том, чтобы перебирать хранилище объектов до тех пор, пока курсор не укажет на объект с заданным ключом, но, поскольку я уже знаю ключ объекта, который я хочу найти, кажется довольно пустой тратой перебирать все записи, когдаЯ также мог просто получить это через ключ.

Есть ли способ открыть курсор на результат запроса, например objectstore.get(_key_).openCursor()?

Примечание: я знаю, что я также мог бы использовать objectstore.put(...) для обновления определенного значения, ноЯ стараюсь избегать этого, так как это будет серьезной проблемой, если будет создана новая запись.

1 Ответ

2 голосов
/ 02 июля 2019

Вы можете сделать objectStore.openCursor(_key_), , где _key_ равно :

Ключ или IDBKeyRange для запроса.Если передан один действительный ключ, по умолчанию это будет диапазон, содержащий только этот ключ.Если ничего не передано, по умолчанию будет выбран диапазон ключей, который выбирает все записи в этом хранилище объектов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...