【问题标题】:Firebase Firestore won't save my user data?Firebase Firestore 不会保存我的用户数据?
【发布时间】:2021-05-07 04:20:01
【问题描述】:

我正在尝试将用户保存在我的 Fire Store 用户集合中, 传入数据时,它完全符合我的要求,但是当我检查火存储时,数据为空。

我使用 createUserWithEmailAndPassword 然后将数据传递给 createUser 以创建文档。

export function createUser(uid, data) {
  return firestore
    .collection("users")
    .doc(uid)
    .set({ uid, ...data });
}

控制台记录我的数据返回

{
 uid: ###,
 email: ###,
 name: ###,
 provider: password
}

在我的防火商店收藏中,它显示,

uid: ###,
name: null,
photoUrl: null,   // im not passing photoUrl in the data object
provider: password,
email: ###

【问题讨论】:

  • 第一个代码中data 的价值是什么
  • 我很困惑。您的帖子说“数据为空”,但 Firestore 中有字段。这些领域不会自行到达那里。您是否偶然使用了 Firestore 的第三方库,例如 Redux-Firestore?也许在createUser() 创建一个变量:let myDoc = { uid, ...data}; 然后console.log("myData is: ", JSON.stringify(myData,null,2));,然后在调用.set(myDoc) 时使用myDoc?
  • @wzrd 哪个字段没有按预期添加?

标签: reactjs firebase google-cloud-firestore


【解决方案1】:

当您使用 ... 解压缩数据对象时,这将按预期工作,这将包括来自 firebase Auth 配置文件的标准字段,其中包括名称和 photoURL。您可以在代码中看到这一点,因为您仅使用附加数据对象添加 UID .set({ uid, ...data });

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-10-10
    • 1970-01-01
    • 1970-01-01
    • 2020-05-17
    • 2020-10-13
    • 1970-01-01
    • 2021-05-08
    • 2018-08-15
    相关资源
    最近更新 更多