Запись в Firebase с индексированием серийного номера

# #firebase #flutter #dart #firebase-realtime-database #google-cloud-platform

Вопрос:

введите описание изображения здесь

Данные в LiveAutos задаются с помощью:

 ref.child("hhh@hgh").child("latitude").setValue(location.latitude)
 

данные в Livelyautos задаются с помощью скрипта python путем загрузки файла JSON.

Как я могу записать данные в LiveAutos аналогично liveautos с серийными номерами 0,1,2,3. База данных будет обновляться несколькими расположениями устройств.

или как я могу прочитать данные из LiveAutos?

Комментарии:

1. Последовательные числовые индексы/массивы-это распространенный анти-шаблон в базе данных Firebase в реальном времени. Я рекомендую ознакомиться с лучшими практиками: Массивы в Firebase .

Ответ №1:

Как отметил @FrankvanPuffelen в своем комментарии, хранение последовательных числовых элементов не рекомендуется для добавления данных в базу данных Firebase в реальном времени, скорее это анти-шаблон, поскольку такая схема не масштабируется. Что вы можете сделать, так это использовать метод push() :

 ref.child("hhh@hgh").push().child("latitude").setValue(location.latitude)
 

Что приведет к созданию схемы, которая выглядит следующим образом:

 Firebase-root
 |
 --- hhh@hgh
      |
      --- $pushedId
             |
             --- latitude: 0.00
             |
             --- longitude: 0.00
 

Таким образом, вы можете добавить столько местоположений, сколько захотите.