在Cloud Firestore中创建另一个字段时,如何更新文档中的字段?

再次返回

我是flutter和firebase的新手,我正在使用它们创建一个Web应用程序。我想创建一个firebase云函数,在添加/创建另一个文档时更新另一个文档。我有两个文件;用户和组。在users文档中,有一个名为groups的数组,该数组具有用户所在的组的uid;在groups文档中,有一个数组,称为数组,其中有该组中用户的uid:

在此处输入图片说明

在此处输入图片说明

问题创建新组时,如何将组uid添加到组成员数组中提到的特定用户的组数组中?

我对脚本类型一无所知,所以我不确定自己在做什么,但是这是我的开始:

import * as functions from 'firebase-functions';

const admin=require('firebase-admin');
admin.initializeApp(functions.config().firebase);

export const updateUserGroups= functions.database.ref('/groups/{groupUID}/members').onCreate(()=>{});

我不确定在创建后groupUID将如何到达函数。我猜想我必须以某种方式通过它(我正在使用flutter..so,所以我不确定那将如何工作。)?如果有人可以提供帮助,我将不胜感激。谢谢!

再次返回

所以我找到了一个解决方案:

import * as functions from 'firebase-functions';

"use strict"

const admin = require('firebase-admin');
admin.initializeApp();
const db = admin.firestore();

export const updateUserGroups = functions.firestore.document('groups/{groupUID}').onCreate((snapshot, context) => {
    const groupUID=snapshot.id;
    const groupData = snapshot.data();
    for (let userUID of groupData['members']) { 
        db.collection('users').doc(userUID).update({groups: admin.firestore.FieldValue.arrayRemove(null)})
        db.collection('users').doc(userUID).update({groups: admin.firestore.FieldValue.arrayUnion(groupUID)})
    }
});

只是不得不做一点挖掘。道格的评论帮助我弄清楚了要看的内容,所以谢谢道格!

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

Mongodb 更新文档中的一个字段,然后根据前一个字段的值更新另一个

Cloud Firestore:如何引用另一个文档?

根据文档中的另一个字段更新字段

如何在反应中根据另一个字段更新一个字段?

在 Android MVVM 中更改另一个字段时更新字段

仅在mongodb中的字段小于另一个字段时更新

如何使用MongoDB和C#使用另一个字段的值更新文档?

当您在另一个字段中输入值时如何更新表单字段

使用字段值更新同一文档中的另一个字段

如何将集合添加到Cloud Firestore中的另一个集合?

根据MongoDB文档中的另一个字段更新一个字段(在Node.js中使用Mongoose)

如何将特定字段的值分配给 Firestore Swift 中同一文档内的另一个字段?

添加新字段,它是文档中另一个字段的大小

猫鼬findByIdAndUpdate仅更新文档中的一个字段

如何根据另一个字段更新mongodb中的数组字典元素

Elasticsearch将每个文档的ID更新为文档中另一个字段的值

在一个字段中输入数据并自动更新另一个字段

在另一个字段中的案例声明中创建字段

为什么在传递多个字段时在 firebase 中创建新文档时只设置一个字段?

MongoDB 使用另一个集合中的另一个字段更新字段

更新Cloud Firestore中的字段密钥

更新Cloud Firestore中的字段密钥

尝试更新Cloud Firestore中的字段

如何使用 FilterUserMixin 过滤 Django 中的一个字段或另一个字段

MongoDB:如何为集合中的每个文档设置一个新字段,该字段等于另一个字段的值

如何根据django模型中的另一个字段使字段唯一?

如何从MongoDb中另一个字段的子字符串创建字段?

更新文档并创建一个字段,该字段是集合MongoDB中具有相同ID的所有对象的数组

特定字段的实时更新 Cloud Firestore 文档