首页 > 解决方案 > Firestore 通过数组的字段值进行查询

问题描述

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

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

火库数据库

我想运行类似这样的查询:

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

实现这一目标的正确方法是什么,Firestore甚至可以吗?

谢谢。

标签: reactjsfirebasegoogle-cloud-firestorereact-redux-firebase

解决方案


正如弗兰克在他的回答中解释的那样,使用数组包含来查询存储在数组中的对象的特定属性是不可能的。

但是,有一种可能的解决方法:在您的情况下,实际上可以查询整个 object,如下所示:

db.collection('identites').where("partyMembers", "array-contains", {id: "7LNK....", name: "John Travolta"})

也许这种方法会满足您的需求(或者可能不会....)。


推荐阅读