相关疑难解决方法(0)

Firestore通过数组的字段值查询

我正在尝试运行一个简单的查询,在其中搜索包含对象数组内的值的文档。

例如,看一下我的数据库结构:

消防员数据库

我想运行类似于此的查询:

db.collection('identites').where("partyMembers", "array-contains", {name: "John Travolta"})
Run Code Online (Sandbox Code Playgroud)

实现此目标的正确方法是什么,Firestore是否有可能?

谢谢。

firebase reactjs google-cloud-firestore react-redux-firebase

6
推荐指数
2
解决办法
1383
查看次数

如何使用包含数组的数组包含映射

在Cloud Firestore中,我需要使用array-contains查询在包含地图的数组中找到匹配项。

我可以很容易地匹配直接字符串,数字等,但是当数组的值是映射时,它总是失败。文档没有暗示这是否可能。

这是一些数据的例子

{
 data:
    [
        item_1: {...},
        item_2: {...}
    ]
}
Run Code Online (Sandbox Code Playgroud)

这是查询的示例

db.collection("list")
  .where("data", "array-contains", "item_1")
  .get()
  .then(collectionRef => {
      //do something with collection
  })
Run Code Online (Sandbox Code Playgroud)

我期望数组包含的内容与地图的最高值(item_x)匹配,此刻与此不匹配。我认为这是因为它想将地图的整个内容匹配为数组项的“值”。

任何帮助,将不胜感激。如果这不可能,我可能不得不重新考虑我的数据结构。对于上下文,我在云函数中使用此函数在原​​始文档更新时更新数组中的项目(它们是对文档的引用)。

javascript firebase google-cloud-firestore

4
推荐指数
1
解决办法
768
查看次数