reactjs - Firestore 通过数组的字段值进行查询

标签 reactjs firebase google-cloud-platform google-cloud-firestore react-redux-firebase

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

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

firestore db

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

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

实现这一目标的正确方法是什么?Firestore 是否可以实现?

谢谢。

最佳答案

正如 Frank 在他的回答中所解释的那样,使用 array-contains 不可能查询存储在数组中的对象的特定属性。

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

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

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

关于reactjs - Firestore 通过数组的字段值进行查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54081799/

相关文章:

javascript - 我正在尝试将使用过的 UID 添加到实时数据库中?

google-app-engine - Google Datastore 新定价效果操作

javascript - 添加新的 React 组件 onclick

javascript - react js : How to open a local path via HTML button on webpage

javascript - 如何使用重定向将 props 传递给路由

javascript - 在 React 中,如何在多个选择下拉菜单之间更新状态,每个下拉菜单都有相同的选项?

swift - Flutter 网络未连接到 FirebaseAuth 服务

android - Firebase Analytics 自动运行所需的最低代码是多少?

kubernetes - 如何通过 Google Cloud Monitoring Alerting 向 Discord channel 发送通知

go - 如何防止格式错误的上传?