Добавить новое поле во вложенном объекте firestore Android - PullRequest
0 голосов
/ 30 мая 2018

В документации Firestore есть код для обновления поля вложенного объекта, но нет кода или документации о том, как мы можем добавить новое поле во вложенный объект?

// Assume the document contains:
// {
//   name: "Frank",
//   favorites: { food: "Pizza", color: "Blue", subject: "recess" }
//   age: 12
// }
//
// To update age and favorite color:
db.collection("users").document("frank")
        .update(
                "age", 13,
                "favorites.color", "Red"
        );

Как вы можете видеть здесь, мы обновляем favorites.color до Red, но как мы можем добавить новое поле code в favorites объекте?

Предположим, я хочу обновить вышеуказанный документ следующим образом:

{
  name: "Frank",
  favorites: { food: "Pizza", color: "Blue", subject: "recess", code:32 }
  age: 12
}

1 Ответ

0 голосов
/ 30 мая 2018

Если документ существует, его содержимое не будет перезаписано вновь предоставленными данными, если вы укажете, что данные должны быть объединены в существующий документ следующим образом:

Map<String, Object> favorites = new HashMap<>();
Map<String, Object> favorite = new HashMap<>();
favorite.put("code", 32);
favorites.put("favorites", favorite);
rootRef.collection("users").document("frank").set(favorites, SetOptions.merge());
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...