如何在Firebase Firestore中使用用户'uid'创建文档

时间:2020-09-26 11:36:32

标签: reactjs firebase web google-cloud-firestore

我正在尝试创建一个用户注册时具有其ID的文档

这是用户注册时运行的功能->

const register = (e) => {
    e.preventDefault();

    auth
      .createUserWithEmailAndPassword(email, password)
      .then((auth) => {
        if (auth) {
          db.collection("users").add({
            email: email,
            password: password,
          });

          history.push("/");
        }
      })
      .catch((error) => alert(error.message));
  };

任何人都可以帮助我如何传递.doc参考来实现这一目标?

2 个答案:

答案 0 :(得分:2)

您可以尝试以下代码吗?

const register = e => {
  e.preventDefault();

  auth
    .createUserWithEmailAndPassword(email, password)
    .then(credential => {
      if (credential && credential.user) {
        db.collection("users")
          .doc(credential.user.uid)
          .set({
            email: email,
            password: password
          });

        history.push("/");
      }
    })
    .catch(error => alert(error.message));
};

请参阅:

答案 1 :(得分:0)

await db
  .collection("users")
  .add({ name: "baibhav", gender: "male" })
  .then(async (docRef) => {
    const ref = db.collection("users").doc(docRef.id)
    ref
      .update({ car: "Ferrari" })
      .then(() => {
        // updated
        console.log("succeed")
      })
      .catch((err) => console.log(err))
  })
  .catch((err) => {
    console.log(err)
  })

您最好使用“ .add”方法。它会自动生成文档ID。 并且您可以在提取文档后使用文档ID。

并将docRef.id扔到您必须使用的位置。并使用文档ID调用update方法。