Редактировать: 12 сентября 2018
Начиная с August 28, 2018
, теперь можно обновлять элементы массива. Больше информации здесь .
Как добавить / обновить / удалить элементы массива в firebase firestore?
Короткий ответ: вы не можете! Как в официальной документации относительно массивов:
Хотя Cloud Firestore может хранить массивы, it does not support
запрашивает элементы массива или обновляет отдельные элементы массива.
Таким образом, в настоящее время нет способа добавить, обновить или удалить отдельный элемент массива в базе данных Cloud Firestore.
Видя схему вашей базы данных, я могу сказать, что у вас нет никаких массивов. availableProducts
- это объект, под ним находится карта с именем 0
, которая содержит два свойства String, spName
и spPrice
. Если вы хотите обновить, скажем, цену, пожалуйста, используйте следующий код:
FirebaseFirestore rootRef = FirebaseFirestore.getInstance();
DocumentReference ref = rootRef.collection("gdgsghs.cok").document("Shsheg");
Map<String, Object> availableProducts = new HashMap<>();
Map<String, Object> zeroMap = new HashMap<>();
Map<String, Object> product = new HashMap<>();
product.put("spPrice", 63.121);
zeroMap.put("0", product);
availableProducts.put("availableProducts", zeroMap);
ref.set(availableProducts, SetOptions.merge());
Ваша цена будет обновлена с 67.368
до 63.121
.