【发布时间】:2018-06-18 09:44:58
【问题描述】:
我有一个云功能,可以在创建新用户时将用户数据写入我的 Firestore
const admin = require('firebase-admin');
const functions = require('firebase-functions');
admin.initializeApp(functions.config().firebase);
var db = admin.firestore();
exports.addNewUserToCollection = functions.auth.user().onCreate(event => {
const user = event.data; // The Firebase user.
// if we don't do this song and dance we get the following error
// Error: Argument "data" is not a valid Document. Input is not a plain JavaScript object.
var userData = JSON.parse(JSON.stringify(user));
return db.collection('users').doc(user.uid).set(userData);
});
我的问题是关于设置文档的数据。
event.data 根据文档是一个 UserRecord 对象。
当我控制台记录它时,它看起来像一个 javascript 对象,但如果我尝试直接设置它,我会得到 p>
错误:参数“数据”不是有效的文档。输入不是普通的 JavaScript 对象。
所以我求助于进行字符串化然后解析。
我应该这样做有更好的方法吗?
【问题讨论】:
标签: javascript firebase firebase-authentication google-cloud-functions google-cloud-firestore