Firestore查询字段可以在多个级别嵌套的地方

时间:2020-05-09 06:17:21

标签: google-cloud-firestore

想象一下如下的文档结构,其中itemId之类的字段可能存在多个嵌套级别:

items: [
  {
    title: 'Heading 1',
    items: [
       {itemId: 123, itemTitle: 'Foo' },
       {itemId: 456, itemTitle: 'Bar' },
    ],
  },
  {itemId: 789, itemTitle: 'Baz' },
]

是否有一个有效的查询,我可以说类似以下内容:查找任何文档,其中'itemId == 456'

1 个答案:

答案 0 :(得分:1)

对于您在此处显示的文档结构,没有查询可以满足您的要求。问题是itemId存在于数组字段中,并且无法查询数组字段中的特定键或值数据。此结构没有解决方法。

您需要做的是在此文档中引入一个新字段,该字段将所有包含的itemId值包含在一个可查询的字段中。它可能是一个数组字段,其中数组的项是itemId字符串。如果这样做,将使用array-contains type query查找您要寻找的itemId