为了账号安全,请及时绑定邮箱和手机立即绑定

Firebase“添加”数据到现有文档不起作用

Firebase“添加”数据到现有文档不起作用

慕沐林林 2023-07-29 13:56:14
我有一个在注册过程中创建的文档,该文档创建具有以下属性的文档: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,
      });


查看完整回答
反对 回复 2023-07-29
  • 1 回答
  • 0 关注
  • 74 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信