[英]How can update new Field data to existing document without overwrite to existing data in firebase-9 by react native
当我尝试通过setDoc()更新时,我尝试通过将新字段添加到firestore中的现有数据中来更新数据
有人可以指导我如何在不丢失firestore中现有数据的情况下添加新字段。
这是我的 setDoc 尝试
const updateUser = async(key, value) => {
await setDoc(doc(db,'users',user.uid), { [key]: value })
};
我尝试添加的是新字段。 如何添加新字段我也尝试如下
const updateUser = async(key,value)=>{
const updateRef = doc(db, "users",value);
await updateDoc(updateRef, {
[key]: true
});
}
您需要设置选项合并。
firebase 9+
setDoc(doc(db, path, data.id), data, { merge: true})
firebase 8-
db.collection("cities").doc(data.id).set(data, { merge: true })
在这两个库中,您都可以使用 function updateDoc()
或 v8 ...doc().update()
您可以从 firebase 库中导入firestore
import firestore from '@react-native-firebase/firestore';
然后你就可以得到你需要的文件
const doc = firestore().collection('Users').doc('ABC')
之后,您可以通过 function update()
更新您的文档
firestore()
.collection('Users')
.doc('ABC')
.update({
age: 31,
})
.then(() => {
console.log('User updated!');
});
您可以在本文档https://rnfirebase.io/firestore/usage中找到有关使用 firestore 的详细信息
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.