【问题标题】:Update query using Firestore in react native在本机反应中使用 Firestore 更新查询
【发布时间】:2021-02-06 08:09:35
【问题描述】:

我想使用 Firestore 执行和更新查询。我知道如何使用它,但并不完全。

我有一个显示数据的平面列表和一个带有可触摸不透明度 onPress 的文本,它将创建一个新的 Firestore 集合并将 flatList 设置为 Firestore。

我的目标是什么? : 1.我想检查集合中是否有任何数据,如果有数据,我想根据当前用户ID更新它而不覆盖以前的数据。

我目前的查询代码:

   const handleFBAll = () => {
      // const businessUser = snapshot.docs[0].data();
      const businessIde = currentBusinessUid;
      console.log("ID : ", businessIde);
      firebase.firestore().collection("users").doc(businessIde).collection("pending-sales").doc(currentUser.uid).set({servicesMaxMin})
    }

现在我想用其他数据更新 currentUser 的文档(如果有的话)

建议?

【问题讨论】:

  • 使用update 而不是set
  • 就这样?不需要进行检查等?
  • 没错,只要提供你想要更新的数据,它就会与现有数据合并。如果您提供的任何道具已经存在,它们将被覆盖。
  • 好的,我现在试试
  • 实际上我有一个错误,如果我在拥有现有文档之前将其更改为更新,它将得到我:“FirebaseError:没有要更新的文档”我的目标是首先创建一个包含数据的文档,然后在后续阶段根据需要进行更新

标签: react-native google-cloud-firestore


【解决方案1】:

您可以将 mergeset 一起使用,这样您就可以像这样简化代码:

db.collection('dogs').doc('my-id').set({
  "owner": "james"
},{merge:true})

这将添加 owner 属性,如果它不存在或将覆盖它。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-08-11
    • 2021-07-15
    • 1970-01-01
    • 2018-07-16
    相关资源
    最近更新 更多