如何在Cloud Firestore的文档数组中添加值?

时间:2019-02-01 18:42:41

标签: firebase google-cloud-firestore google-cloud-functions

我的Cloud Firestore数据库如下所示:

Cloud Firestore database

我的目标是在number数组中添加“ 789”,我该怎么做?

1 个答案:

答案 0 :(得分:2)

您应该使用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')
    });
  });