Firestore 将值添加到数组字段

新手上路,请多包涵

我正在尝试使用 Firebase 云功能将聊天室的 ID 添加到数组字段中的用户文档中。我似乎无法弄清楚写入数组字段类型的方法。这是我的云功能

  exports.updateMessages = functions.firestore.document('messages/{messageId}/conversation/{msgkey}').onCreate( (event) => {
    console.log('function started');
    const messagePayload = event.data.data();
    const userA = messagePayload.userA;
    const userB = messagePayload.userB;

        return admin.firestore().doc(`users/${userA}/chats`).add({ event.params.messageId }).then( () => {

        });

  });

这是我的数据库的样子

在此处输入图像描述

非常感谢任何提示,我是 Firestore 的新手。

原文由 Kravitz 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 411
1 个回答

从文档中,他们添加了一个新操作来从数组中追加或删除元素。在此处阅读更多信息: https ://firebase.google.com/docs/firestore/manage-data/add-data#update_elements_in_an_array

例子:

 var admin = require('firebase-admin');
// ...
var washingtonRef = db.collection('cities').doc('DC');

// Atomically add a new region to the "regions" array field.
var arrUnion = washingtonRef.update({
  regions: admin.firestore.FieldValue.arrayUnion('greater_virginia')
});
// Atomically remove a region from the "regions" array field.
var arrRm = washingtonRef.update({
  regions: admin.firestore.FieldValue.arrayRemove('east_coast')
});

原文由 Sean Blahovici 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题