MongoDB - 如何查找文档字段包含具有给定名称的子文档的位置? (包括示例查询和文档)

时间:2014-09-25 09:47:19

标签: mongodb

这里我试图检索文档中包含文档DummyFoo的文档,而文档DummyFoo又包含文档DummyBar?

据我所知,下面的语法是正确的,但没有返回结果,但我知道它们存在。我是否错误地构建了查询?

{ "DummyFoo" : { "$elemMatch" : { "DummyBar": { "$exists" : true } }}}

以下是我希望匹配的文档示例:

{
  "_id" : ObjectId("5423d66ba077e6205cc9ecef"),
  "Title" : "Test 1234587611",
  "Subtitle" : "Test 1 Subtitle",
  "DummyFoo" : {
    "DummyDate" : "2014-09-25T09:46:35.6626303+01:00",
    "DummyBar" : {
      "Name" : "Test",
      "Number" : 1
    }
  }
}

1 个答案:

答案 0 :(得分:3)

$elemMatch专门用于查询数组。在这种情况下,你有一个嵌套的json,mongodb将其识别为embedded document

您可以使用dot notation查询嵌入的文档。

 { "DummyFoo.DummyBar": { "$exists" : true }}