你好,我正在尝试创建一个具有flutter、cloudfirebase和firebasecloud功能的团队应用程序。我想更新每个月份文档下的一个字段,以确定是否是新的月份。
这是我的云火球结构:
正如你所看到的,我在成员资格子集合下的文档中有一个公司的所有员工,每个文档都代表一个员工。我想在每个月的每个会员文档中将“newMonth”字段更改为true。
我已经搜索了好几天的云功能,可以帮助我做到这一点,以下是迄今为止我得到的:
exports.newMonth = functions.pubsub.
schedule('* * * * *')
.onRun(async(context)=>{
try {
const querySnapshot = database.collectionGroup('companies')
.where('newMonth', '==', false).get();
if ((await querySnapshot).empty){
return null
}else{
const updates = [];
querySnapshot.docs.forEach(snapshot =>{
updates.push(snapshot);
console.log('The snapshot is',snapshot);
});
const snapshotArrays = await Promise.all(updates);
const updates1 = [];
snapshotArrays.forEach(snapArray =>{
snapArray.forEach(snap =>{
updates1.push(snap.ref.update({
"newMonth" : true,
}))
})
})
// await Promise.all(querySnapshot.docs.map((doc)=> doc.ref.update({newMonth: true})));
console.log('succesfully changed');
return Promise.all(updates1);
}
} catch (error) {
functions.logger.error(error)
}
});
有人能帮我吗?