#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