Firebase 函数:错误:参数“data”的值不是有效的 Firestore 文档。

我正在尝试在 Firebase 身份验证后将用户添加到我的 Firestore 数据库。我收到的错误是:

错误:参数“data”的值不是有效的 Firestore 文档。输入不是普通的 JavaScript 对象。

这是我的功能:

const db = admin.firestore();


const createProfile = (userRecord, context) => {

  const { email, uid } = userRecord;

    

  return db

    .collection("Users")

    .doc({uid: uid})

    .set({email: email})

    .catch(console.error);

};


module.exports = {

  authOnCreate: functions.auth.user().onCreate(createProfile),

};


狐的传说
浏览 88回答 1
1回答

慕少森

doc()要求您仅传递文档 ID 的字符串。您正在传递一个无效的对象。如果您想要 ID 为 的文档uid,请执行以下操作:  return db     .collection("Users")     .doc(uid)     .set({email: email})     .catch(console.error);此外,根据 API 文档,email可能是未定义的。这也会导致错误,因为 Firestore 不接受未定义的值。在将其添加到文档之前,您必须检查这一点。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript