【问题标题】:update firestore array with map objects使用地图对象更新 Firestore 数组
【发布时间】:2020-05-24 18:36:50
【问题描述】:

希望更新数组中的字段,该数组具有如下所示的地图对象:

somearray
  (map objects)
   obj0_____id:1
       _____returned: false
   obj1_____id:2
       _____returned: false

我正在尝试的代码

  somefunction = () => {
        let bookid = document.getElementById('bookid').value;
        db.collection('books').where('field.id', '==', bookid).get().then(querySnapshot => {
              querySnapshot.forEach(doc => 
                doc.update({
                  "field.returned": true
                })

             )
          }
        )
    }

【问题讨论】:

    标签: javascript arrays firebase google-cloud-firestore


    【解决方案1】:

    Firestore 无法在文档中查询数组中的地图字段。您可以搜索数组的唯一方法是准确的项目内容,这意味着您必须知道整个对象的值及其所有属性。

    如果您想在该“id”地图字段上进行搜索,则必须执行其他操作。例如,您可以创建一个仅包含 ID 值数组的新顶级文档字段,并使用 array-contains 查询对其进行查询。

    【讨论】:

      猜你喜欢
      • 2021-02-02
      • 1970-01-01
      • 1970-01-01
      • 2020-11-22
      • 2021-08-22
      • 2020-12-20
      • 1970-01-01
      相关资源
      最近更新 更多