Kev*_*291 3 firebase typescript firebase-authentication google-cloud-functions google-cloud-firestore
当用户通过 google auth 注册时,我试图将用户对象添加到 firestore。这是我的代码:
export const accountCreate = functions.auth.user().onCreate(user => {
console.log(user.data);
admin.firestore().collection('users').doc(user.data.uid).set(user.data).then(writeResult => {
console.log('User Created result:', writeResult);
return;
}).catch(err => {
console.log(err);
return;
});
});
Run Code Online (Sandbox Code Playgroud)
不走运,我只是不断收到错误消息:
错误:无法将类型 ([object Object]) 编码为 Function.encodeValue 处的 Firestore 值 (/user_code/node_modules/firebase-admin/node_modules/@google-cloud/firestore/src/document.js:773:11)
我不确定为什么这不起作用。有任何想法吗?谢谢
user.data
不是有效的 Cloud Firestore 文档,因此 Firestore 拒绝写入。相反,您应该设置您关心的特定字段,例如:
export const accountCreate = functions.auth.user().onCreate(user => {
console.log(user.data);
userDoc = {'email' = user.data.email,
'displayName' = user.data.displayName}
admin.firestore().collection('users').doc(user.data.uid)
.set(userDoc).then(writeResult => {
console.log('User Created result:', writeResult);
return;
}).catch(err => {
console.log(err);
return;
});
});
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
4072 次 |
最近记录: |