我有一个云函数,当新用户注册时,它会创建一个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消息编写设备令牌。
NewUser ReferenceError:SetOptions未在中定义exports.newUser.functions.auth.user.onCreate(/srv/index.js:26:67(位于cloudFunction(/srv/nod_module firebase functions/lib/cloud functions.js:131:23(在/aworker/worker.js:852:24在
我参考了谷歌云文档,他们说要将其作为{merge:true}传递,但这也无济于事。我在stackoverflow上引用了这篇文章。为什么我的Cloud Firestore事务在使用SetOptions.merge((时没有合并?但这也没有奏效。请帮助我,因为我不太了解消防商店云功能
问题出在user.providerData上,该数据以json对象的形式返回,其函数导致了编码错误。至于合并选项,它是.set(data,{merge:true})