繁体   English   中英

如何通过本机反应将新字段数据更新到现有文档而不覆盖firebase-9中的现有数据

[英]How can update new Field data to existing document without overwrite to existing data in firebase-9 by react native

当我尝试通过setDoc()更新时,我尝试通过将新字段添加到firestore中的现有数据中来更新数据这是我的 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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM