繁体   English   中英

如何将新集合添加到现有文档 React v18、Firebasev9

[英]How to add new collection to existing document React v18, Firebasev9

创建用户:

 const register=async()=>{ try{ const user = await createUserWithEmailAndPassword(auth, registerEmail, registerPassword) const newUser = await addDoc(collection(db, "Users"), { email:registerEmail }); setEmail(newUser.email) navigate("/home"); }catch(error) { console.log(error.message); } }

我尝试存储 email 以将其与 Firestore 用户数据 email 匹配

下面是我尝试向特定用户添加新集合的其他组件,但未能这样做

const createAnime = async () => { const addAnime= await addDoc(collection(db,"Users",user.id,"anime"),{ title,genre,numb,comment,rating,aid }) }

我尝试了各种解决方案。 目标是将(标题、流派、编号等)作为单独的文档添加到用户创建的文件中。 我无法将来自 auth 用户的数据与在 Direstore 中创建的相同用户数据相匹配。

您在将用户的文档添加到 Firestore 时使用addDoc() ,该文档会生成随机文档 ID,但随后尝试使用用户的 UID(可能甚至不存在)将子集合添加到文档中。 而是首先将文档 ID 设置为用户的 UID,如下所示:

 const register = async () => { try { const { user } = await createUserWithEmailAndPassword(auth, registerEmail, registerPassword) const newUser = await setDoc(doc(db, "Users", user.uid), { email: registerEmail }); setEmail(registerEmail) navigate("/home"); } catch (error) { console.log(error.message); } }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM