IndexedDB - Check Table существует и содержит данные
-
12-12-2019 - |
Вопрос
Использование IndexedDB Когда мое приложение первое прогон, я заполняю его с некоторыми данными, я хочу убедиться, что когда база данных и таблиц созданы, что они еще не существует.
Могу ли я запросить длину таблицы, чтобы увидеть, содержит ли она и данные в JavaScript?
Решение
Лучший способ пытаться открыть объект-сток в попытке уловки.Он также синхронно.В случае ошибки вы можете создать магазин, например:
var store;
try {
store = request.transaction.objectStore('yourStore');
}
catch(e) {
store = db.createObjectStore('yourStore');
}
. Другие советы
Вы можете использовать ObjectStore.count () Функция,Но я рекомендую хранить какие-то мета-данные, которые бы сказали, что ваша местная БД инициализируется.В противном случае вы можете иметь страницу-перезагрузку в середине создания данных и никогда не проводиться полностью синхронизированными данные с удаленными данными.
База данных создана, если база данных с указанным именем не существует, она не открывает его
eg.var request = indexedDB.open("DataTbl");
Так что, если ваша БД уже существует, она просто откроет его, и о вы проверке, если содержимое в таблице уже существует, вы можете сделать объект XYZ и хранить вашу пару флаг ключа / значения в нее, говоря, что вставка была успешной иПроверьте это позже каждый раз, когда загружается страница.
Также вы можете дать попытку считать функцию, указанную @toske
Ref: