1 МБ превышает firestore
Я храню историю поездок (карту-массив) в пожарном хранилище. приложение дает сбой (приложение Flutter) при попытке сохранить карту большого массива (длина массива может быть более 10 000). а также в одном документе более 30 полей.
это моя карта (список карт).
Map<String, dynamic> toMap() => {
"latitude": latitude,
"longitude": longitude,
"accuracy": accuracy,
"altitude": altitude,
"speed": speed,
"speed_accuracy": speedAccuracy,
"heading": heading,
"time": time,
};
Есть ли какое-нибудь решение для хранения такого массива в пожарном магазине?
Ответы
Невозможно превысить максимальный размер документа в Firestore.
Вместо этого вам следует разделить каждый элемент данных на отдельный документ, возможно, в подколлекцию, вложенную в основной документ.
Документы firestore имеют верхний предел в 1 МБ, что не означает, что разработчик должен заполнить его до 1 МБ. Более тяжелые документы будут иметь следующие недостатки:
- В слабой сети документ не загружается.
- Вряд ли пользователю понадобится доступ к такому количеству данных. Единая модель данных не может удовлетворить все потребности приложения, поэтому данные должны быть разделены на несколько моделей данных.
- За запрашиваемые дополнительные данные взимается дополнительная плата за исходящий трафик.
Таким образом, вы должны моделировать свою базу данных, помня об этом. Как упоминал Дуг, вы должны разбить свой контент на несколько документов.