Как добавить значение в массив документа в Cloud Firestore? - PullRequest
0 голосов
/ 01 февраля 2019

Моя база данных Cloud Firestore выглядит следующим образом:

Cloud Firestore database

Моя цель - добавить «789» в массив number, как я могусделать это?

1 Ответ

0 голосов
/ 01 февраля 2019

Вы должны использовать arrayUnion():

......
const userRef = admin.firestore().collection('users').doc('1');

return userRef.update({
  numbers: admin.firestore.FieldValue.arrayUnion('789')
});
......

См. Соответствующий документ здесь: https://firebase.google.com/docs/firestore/manage-data/add-data#update_elements_in_an_array (в дополнение к ссылке выше)

Полный пример: Ниже приведен код облачной функции, которая активируется при добавлении документа в коллекцию trigger.Он обновит документ пользователя с id = 1, как вы просите в своем вопросе.

exports.updateUser = functions.firestore
  .document('trigger/{triggerId}')
  .onCreate((snap, context) => {
    const userRef = admin
      .firestore()
      .collection('users')
      .doc('1');

    return userRef.update({
      numbers: admin.firestore.FieldValue.arrayUnion('789')
    });
  });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...