Для приложения Chrome, которым хранит данные в IndexedDB, у меня есть объект вроде этого:значение индексирования массива в объекте в IndexedDB
var simplifiedOrderObject = {
"ordernumber": "123-12345-234",
"name": "Mr. Sample",
"address": "Foostreet 12, 12345 Bar York",
"orderitems": [
{
"item": "brush",
"price": "2.00"
},
{
"item": "phone",
"price": "30.90"
}
],
"parcels": [
{
"service": "DHL",
"track": "12345"
},
{
"service": "UPS",
"track": "3254231514"
}
]
}
Если я сохранить объект отверстия в ObjectStore и, могу я использовать индекс для «дорожки», который может содержаться несколько раз в каждом объекте заказа?
Или это необходимо или, возможно, лучше/быстрее, чтобы разделить каждый объект на несколько objectStores, как известно из реляционных БД:
- порядка
- OrderItem
- посылок
Решение должно также быстро работают с 100 000 или более объектов.
Вы правы - текущий API с индексированным DB не делает это легким. У меня есть ошибка отслеживания этой проблемы здесь: https://github.com/w3c/IndexedDB/issues/35 –
я бы сказал, что это не ошибка, потому что она работает так, как написано в [спецификация] (https: //w3c.github.И.О./IndexedDB/# ключ-путь-конструкт). Но это действительно недостающая особенность ... :( – Lutz
Да, «проблема» не «ошибка». Кстати, я редактор спецификации. :) –