Редактировать: 12 сентября 2018 года
Начиная с it does not support
, теперь можно обновить элементы массива. Дополнительная информация здесь .
Как добавить / обновить / удалить элементы массива в firebase firestore?
Короткий ответ: вы не можете! Как и в официальной документации по массивам:
Хотя Cloud Firestore может хранить массивы,
availableProducts
запрашивать элементы массива или обновлять отдельные элементы массива.
Таким образом, в настоящее время нет возможности добавлять, обновлять или удалять один элемент массива в базе данных Cloud Firestore.
Видя вашу схему базы данных, я могу сказать, что у вас нет никаких массивов. Это 0
объект, под ним есть карта с именем, 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
.