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

MongoDB-如何查找文档字段包含具有给定名称的子文档的位置?(包括示例查询和文档),mongodb,Mongodb,在这里,我试图检索文档中包含文档DummyFoo的文档,而文档DummyFoo又包含文档DummyBar 据我所知,我下面的语法是正确的,但是没有返回结果,尽管我知道它们存在。我的查询结构是否有误 { "DummyFoo" : { "$elemMatch" : { "DummyBar": { "$exists" : true } }}} 下面是我希望匹配的文档示例: { "_id" : ObjectId("5423d66ba077e6205cc9ecef"), "Title" : "T

在这里,我试图检索文档中包含文档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
    }
  }
}
是专门为查询数组而设计的。在本例中,您有一个嵌套的json,mongodb将其识别为

您可以使用来查询嵌入的文档

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

这是正确的还是错误的?您的文档看起来像什么?AFAIK其他人告诉您正确答案的唯一方法是显示您希望匹配的文档。有人吗?这是一个公平的评论。我想我的查询结构可能不好。我现在添加了一个示例文档。那么,您希望此查询与此文档匹配吗?谢谢。正确。但修饰“为什么”会得到更好的答案。具体来说,如何解释$elemMatch失败的原因?为什么肯定会引起人们的兴趣。我认为这适用于array。如果您使用
“DummyFoo”:[{…}]
更改结构,grx的查询将正常工作。很抱歉,没有弄清楚为什么它不工作$elemMatch专门用于查询数组。点符号用于查询文档。我会在答案中加上这个。