MongoDB - 如何查询数组元素

MongoDB - How to query array element

我有一个包含 (multi-level) 嵌套数组的集合,如下所示:

{ _id: "1", metadata: { parent: { tags: ['foo', 'bar'] } } }
{ _id: "2", metadata: { parent: { tags: ['foo'] } } }
{ _id: "3", metadata: { parent: { tags: ['bar'] } } }

我想查询与 parent 的标签相匹配的记录,其中包含关键字 foo:

{ _id: "1", metadata: { parent: { tags: ['foo', 'bar'] } } }
{ _id: "2", metadata: { parent: { tags: ['foo'] } } }

如何写MongoDB查询?

实现dot notation

db.collection.find({
  "metadata.parent.tags": "foo"
})

Sample Mongo Playground