Javascript 在云函数中写入Firestore时如何使用SetOptions.merge with.set()
我有一个云函数,在注册新用户时创建Firestore条目Javascript 在云函数中写入Firestore时如何使用SetOptions.merge with.set(),javascript,firebase,google-cloud-platform,google-cloud-firestore,google-cloud-functions,Javascript,Firebase,Google Cloud Platform,Google Cloud Firestore,Google Cloud Functions,我有一个云函数,在注册新用户时创建Firestore条目 exports.newUser = functions.auth.user().onCreate((user) => { var userObject = { displayName : user.displayName, picUrl:user.photoURL, authType:user.providerData, email : user.email, newUser:
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)位于
云函数
(/srv/node_modules/firebase functions/lib/cloud functions.js:131:23)
at/worker/worker.js:825:24 at at at
我参考了谷歌云文档,他们说将其作为{merge:true}传递,但这也没有帮助。
我在stackoverflow上引用了这篇文章
但这也不起作用。
请帮助我,因为我对firestore云函数了解不多问题在于user.providerData返回json对象,其中包含导致编码错误的函数。至于合并选项,它是
.set(data,{merge:true})
您现在所做的将不起作用。文档非常清楚,您应该通过{merge:true}
。问题出在user.providerData上,它以json对象的形式返回,函数导致了编码错误。至于合并选项,它是.set(data,{merge:true}),如果您说不再存在问题,请删除该问题或简单地回答您自己的问题。您能确认您已解决该问题吗?是@EnriqueDelValle我的问题已解决。