Как добавить / удалить из поля карты Firestore? - PullRequest
1 голос
/ 16 апреля 2020

Как указано в документации, есть способ обновить поля карты с помощью точечной нотации: https://firebase.google.com/docs/firestore/manage-data/add-data#update_fields_in_nested_objects

Но в нем не упоминается способ добавления или удаления из них. , Решение заключается в том, чтобы прочитать поле карты, добавить к нему и переписать карту еще раз. Это путь к go? Или есть другой, более эффективный способ сделать это, например, с массивами, как указано здесь: https://firebase.google.com/docs/firestore/manage-data/add-data#update_elements_in_an_array

1 Ответ

0 голосов
/ 16 апреля 2020

Если вы предполагаете, что update() не работает для добавления новых значений полей карты, как вы видели в связанной документации, попробуйте набор со слиянием:

Map<String, Object> update = new HashMap<>();
update.put("map.property", "value");
docRef.set(update, SetOptions.merge());

Чтобы удалить, используйте FieldValue.delete() как описано в документации :

Map<String,Object> update = new HashMap<>();
update.put("map.property", FieldValue.delete());
docRef.update(update);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...