想象一下如下的文档结构,其中itemId
之类的字段可能存在多个嵌套级别:
items: [
{
title: 'Heading 1',
items: [
{itemId: 123, itemTitle: 'Foo' },
{itemId: 456, itemTitle: 'Bar' },
],
},
{itemId: 789, itemTitle: 'Baz' },
]
是否有一个有效的查询,我可以说类似以下内容:查找任何文档,其中'itemId == 456'
答案 0 :(得分:1)
对于您在此处显示的文档结构,没有查询可以满足您的要求。问题是itemId
存在于数组字段中,并且无法查询数组字段中的特定键或值数据。此结构没有解决方法。
您需要做的是在此文档中引入一个新字段,该字段将所有包含的itemId
值包含在一个可查询的字段中。它可能是一个数组字段,其中数组的项是itemId字符串。如果这样做,将使用array-contains type query查找您要寻找的itemId
。