Можете ли вы создать или обновить элемент в массиве карт в Firestore? - PullRequest
0 голосов
/ 28 апреля 2020

У меня есть заполненный пользователем документ с несколькими массивами, содержащими карты. Кажется, что arrayUnion() работает только с существующими массивами, поэтому следующее не будет работать, если там уже нет массива:

docRef.update({
  [dynamicFieldName]: firebase.firestore.FieldValue.arrayUnion(whateverUpdate)
})

1 Ответ

0 голосов
/ 28 апреля 2020

Если вы не знаете, существует ли поле списка или нет, вам придется прочитать документ, проверить, существует ли поле массива, а затем обновить документ новым значением массива.

Если вы нужно, чтобы эта операция была атомом c, тогда вы должны использовать транзакцию. https://firebase.google.com/docs/firestore/manage-data/transactions

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...