我有一个在注册过程中创建的文档,该文档创建具有以下属性的文档:username: "GOOOOD"现在,我正在尝试调用文档的add新属性,因此它看起来像这样:firstNameusername: "GOOOOD"firstName: "Roger"但是,该add功能似乎不起作用:function ProfileContainer() { const [profile, setProfile] = useState(); const [{ user }, dispatch] = useStateValue(); const [firstName, setFirstName] = useState(""); // add first and last name const handleClick = () => { if (user) { db.collection("users").doc(user).collection("profile").doc(user).add({ firstName: firstName, }); } }; return ( <div className="profileContainer"> <div className="name__input"> <input type="text" placeholder="First Name" onChange={(e) => setFirstName(e.target.value)} value={firstName} /> </div> <button onClick={handleClick}>Update</button> </div> </div> </div> );}不幸的是,该add功能似乎不起作用。我收到以下错误:TypeError: firebase_utils__WEBPACK_IMPORTED_MODULE_4 _.db.collection(...).doc(...).collection(...).doc(...).add 不是函数set似乎有效,但我不想删除整个文档。
1 回答
拉风的咖菲猫
TA贡献1995条经验 获得超2个赞
add()
总是创建一个新文档。如果这不是您想要做的,那么您不应该使用它。
如果您尝试向现有文档添加新字段,则应使用update(),如文档中所示。
db.collection("users").doc(user).collection("profile").doc(user).update({ firstName: firstName, });
添加回答
举报
0/150
提交
取消