gpt4 book ai didi

javascript - 在 Cloud Functions 中写入 Firestore 时如何将 SetOptions.merge 与 .set() 结合使用

转载 作者:行者123 更新时间:2023-11-28 03:02:46 25 4
gpt4 key购买 nike

我有一个云函数,可以在新用户注册时创建 Firestore 条目

exports.newUser = functions.auth.user().onCreate((user) => {

var userObject = {
displayName : user.displayName,
picUrl:user.photoURL,
authType:user.providerData,
email : user.email,
newUser: true,
bookings:0
};

console.log("Merge:true")
return admin.firestore().doc('users/'+user.uid).set(userObject, SetOptions.merge())
.then((response)=>{
console.log("New user result: ",response)
return response;
}).catch((err)=>
{
console.log("New user Error: "+err)
return err;
});
});

我想使用 setoptions.merge() 但它不起作用,我想更新,因为我还在 firestore 上写入 FCM 消息的设备 token 。

NewUser ReferenceError: SetOptions is not defined at exports.newUser.functions.auth.user.onCreate (/srv/index.js:26:67) at cloudFunction (/srv/node_modules/firebase-functions/lib/cloud-functions.js:131:23) at /worker/worker.js:825:24 at at

我引用了谷歌云文档,他们说将其作为 {merge:true} 传递,但这也没有帮助。我在 stackoverflow 上引用了这篇文章Why is my Cloud Firestore Transaction not merging when using SetOptions.merge()?但这也行不通。请帮助我,因为我对 firestore 云功能不太了解

最佳答案

问题出在 user.providerData 上,它以 json 对象的形式返回,其函数导致编码错误。至于合并选项,则是 .set(data,{merge:true})

关于javascript - 在 Cloud Functions 中写入 Firestore 时如何将 SetOptions.merge 与 .set() 结合使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60836481/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com