Как добавить в поле моей карты в облачном Firestore с помощью swift

#swift #firebase #google-cloud-firestore

#swift #firebase #google-cloud-firestore

Вопрос:

Это из документов.

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

// To update favorite color:
db.collection("users").doc("frank").update({
   "favorites.color": "Red"
})
  

Я хочу знать, как я могу добавить в поле избранное, а не просто обновить значение. Допустим, я хочу добавить

 [size: "large"]
  

на карту избранного. Как мне это сделать?

Ответ №1:

Термин «обновить» в данном API означает, что вы обновляете документ, но вы можете добавлять поля в этот документ. Итак, это должно сработать

 db.collection("users").doc("frank").update({
   "favorites.size": "large"
})
  

Ответ №2:

Вы пробовали с:

 db.collection("users").document("frank").set(
   {favorites: {size: "large"}},
   {merge: true}
)
  

Важной частью является то, merge: true что в as будет указано, что данные должны быть объединены в существующий документ

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

1. Нет, я этого не делал. Но было бы проще, если бы я просто сделал избранное массивом словарей и просто добавлял и удалял из него таким образом?

2. Я думаю, что это тоже будет хорошо! Вы пытались сделать это массивом dict? Не забудьте merge: true append