Mongodb 数组查询和返回

Mongodb 数组查询和返回,mongodb,Mongodb,我第一次到蒙哥探险。请回答以下问题,为我节省一些时间。这是模式 "_id" : 1, "FullName" : "Full Name", "Email" : "email@email.com", "FacebookId" : NumberLong(0), "LastModified" : ISODate("2012-04-11T09:26:10.955Z"), "Connections" : [{ "_id" : 7, "FullName" : "Fu

我第一次到蒙哥探险。请回答以下问题,为我节省一些时间。这是模式

"_id" : 1,
  "FullName" : "Full Name",
  "Email" : "email@email.com",
  "FacebookId" : NumberLong(0),
  "LastModified" : ISODate("2012-04-11T09:26:10.955Z"),
  "Connections" : [{
      "_id" : 7,
      "FullName" : "Fuller name",
      "Email" : "connections@email.com",
      "FacebookId" : NumberLong(0),
      "LastModified" : ISODate("0001-01-01T00:00:00Z")
    },

  ....

给定一个顶级用户的id,我想返回Connections数组中的所有电子邮件,最好只返回电子邮件。问什么?非常感谢

您不能仅从MongoDB中的子对象获取值

如果执行如下查询:

db.test.find({"_id": 1}, {"Connections.Email":1});
你会得到这样的回答:

{ 
  "_id": 1, 
  "Connections" : [ {"Email":"connections@email.com"}, 
                    {"Email":"foo@example.com"} ] 
}
这是通过MongoDB的简单查询和字段选择可以得到的最接近的结果

然后,您可以使用一个简单的
foreach
过滤掉代码中的电子邮件值