Вопрос

Использование 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:

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top