[英]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.