Получить ключ от добавленной записи в IndexedDB

У меня этот код в IndexedDB:

var request = objectStore.add({ entryType: entryType, entryDate: t});

Теперь я хочу узнать ключ этой записи, который только что добавлен. Как мне это сделать?

Я нашел эту статью , и это код:

var data = {"bookName" : "Name", "price" : 100, "rating":"good"};
var request = objectStore.add(data);
request.onsuccess = function(event){
    document.write("Saved with id ", event.result)
    var key = event.result;
};

Это не работает для меня - ключ отображается как неопределенный. Я думаю, что мне не хватает чего-то основного здесь!

2
nl ja de
Я должен подумать, что есть некоторая документация для IndexedDB - нет ли там информации об этом?
добавлено автор halfer, источник
Я не мог найти его - какие-нибудь идеи?
добавлено автор Stacked Flow, источник

3 ответы

Пройдите этот код

var data = {"bookName" : "Name", "price" : 100, "rating":"good"};
var request = objectStore.add(data);
request.onsuccess = function(event){
    document.write("Saved with id ", event.result)
    var key = event.target.result;
};

Надеюсь, что этот код будет работать для извлечения ключа последней вставленной записи

4
добавлено

спецификация написана для пользовательского агента, а не для разработчика. Так что это сбивает с толку. Генератор ключей предоставляется пользовательским агентом.

Любой объект event , полученный обработчиком onsuccess , всегда имеет event.target.result . Это ключ, который вы ищете. Ключ автоматически генерируется, если вы его не предоставляете, если вы установите autoIncrement в true.

Это документально в шаге 8: следующим образом:

<Ол>   
  • Результат этого алгоритма является ключевым.
  •   
    4
    добавлено

    Трюк здесь заключается в том, чтобы знать, как искать фразы итеративно, пока вы не приземлитесь на то, что вам нужно. Раньше я никогда не слышал о IndexedDB, но, похоже, нашел то, что вам нужно.

    Я помещал «IndexedDB» в поисковую систему и обнаружил this . Это дало фразу «генератор ключей», поэтому я искал это также , который привело меня к и this .

    Ссылка StackOverflow обсуждает использование UUID, который, конечно, может быть сгенерирован в JavaScript, а в последней ссылке есть примеры, чтобы делать то, что вы хотите из коробки.

    0
    добавлено
    JavaScript Jobs — чат
    JavaScript Jobs — чат
    8 336 участник(ов)

    JavaScript Jobs — чат для поиска работы и людей Правила оформления: https://teletype.in/@telegram-ru/r1WQe5F1m См. также: @mobile_jobs, @devops_jobs, @nodejs_jobs, @react_js, @angular_ru, @js_ru

    JavaScript.ru
    JavaScript.ru
    7 932 участник(ов)

    Сообщество сайта JavaScript.ru в Slack.

    pro.js
    pro.js
    4 675 участник(ов)

    Про JavaScript и NodeJS Invite: https://t.me/joinchat/Be4rsT5Rsgq30DHutjxXgA Правила: http://telegra.ph/ru-chat-rules-06-19 Вакансии только с ЗП, не чаще раза в неделю.

    Верстка сайтов HTML/CSS/JS/PHP
    Верстка сайтов HTML/CSS/JS/PHP
    3 439 участник(ов)

    Правила группы: напишите !rules в чате. Группа Вк: vk.com/web_structure Freelancer: @web_fl Веб Дизайн: @dev_design Маркетолог: @topmarkening Автор: @M_Boroda

    JavaScript — русскоговорящее сообщество
    JavaScript — русскоговорящее сообщество
    3 269 участник(ов)

    Рекомендуем сразу отключить уведомления Правила: https://rudevs.network/ByaMH6un7 См. также: @js_noobs_ru, @nodejs_ru, @typescript_ru, @react_js, @electron_ru Вакансии и поиск работы: @javascript_jobs

    JavaScript Noobs — сообщество новичков
    JavaScript Noobs — сообщество новичков
    2 484 участник(ов)

    Чат для новичков

    javascript_ru
    javascript_ru
    915 участник(ов)

    Сообщество любителей самого популярного языка программирования в мире. Чат основан в 2009 году. Логи: https://goo.gl/9EOeM7 Поддержка бота: @chat_linker (ссылка на репу внутри) Вам будут интересны @frontend_ru и @css_ru

    jsChat
    jsChat
    603 участник(ов)

    Чат посвященный программированию на языке javaScript Перед отправкой ссылки на Ваш контент посоветуйтесь с админом Все ссылки удаляются ботом автоматически

    JavaScript for Zombies Chat
    JavaScript for Zombies Chat
    492 участник(ов)

    Чат про JavaScript для настоящих zombie! Вход строго по приглашениям! Ссылка для строгих приглашений: https://t.me/joinchat/AAMBHz3Uyr0tuZ7VaB029g

    All That JS
    All That JS
    417 участник(ов)

    JS на русском