【发布时间】:2022-01-08 10:02:06
【问题描述】:
我尝试通过 react native expo 将新字段添加到 firestore 中的现有数据中来更新数据 当我尝试通过 setDoc() 进行更新时,所有现有数据都已删除,并且仅新更新了一个 remian 如何将数据更新到firebase中的同一文档中
有人可以指导我如何在不丢失 Firestore 中现有数据的情况下添加新字段。
这是我的 setDoc 尝试
const updateUser = async(key, value) => {
await addDoc(doc(db,'users',user.uid), { [key]: value })
};
我尝试添加的是新字段。如何添加新字段 我也尝试如下
const updateUser = async(key,value)=>{
const updateRef = doc(db, "users",value);
await updateDoc(updateRef, {
[key]: true
});
}
【问题讨论】:
-
来自stackoverflow.com/questions/70144432/…:“当您调用
addDoc时,Firestore会为您生成新文档的ID。如果您想自己指定ID,请改用setDoc。” -
@Mises:你的意思是在代码中将调用从
addDoc更改为setDoc吗?这听起来像是 OP 自己应该做出的改变。 -
@FrankvanPuffelen 我写了一个总结,我改变了所以希望他知道他在代码中使用了错误的函数。
-
但这应该是一个答案,而不是对问题的编辑。
-
@FrankvanPuffelen 他正在写关于
setDoc()func 的文章,只有在代码sn-p 中他有addDoc()。如果他在代码中有一个选项 { merge: true },我会指出他使用了错误的函数。
标签: javascript firebase react-native google-cloud-firestore