MongoDB不显示子文档中的所有元素

MongoDB不显示子文档中的所有元素,mongodb,Mongodb,我拥有以下结构的文件: { "_id" : ObjectId("50b8f881065f90c025000014"), "education" : { "schoolCountry" : 4, "schoolTown" : -1, "uniCountry" : 4, "uniTown" : -1 }, "info" : { "ava" : "auto.jpg", "birthday" : ISODate("1942-04-01T21

我拥有以下结构的文件:

{
  "_id" : ObjectId("50b8f881065f90c025000014"),
  "education" : {
    "schoolCountry" : 4,
    "schoolTown" : -1,
    "uniCountry" : 4,
    "uniTown" : -1
  },
  "info" : {
    "ava" : "auto.jpg",
    "birthday" : ISODate("1942-04-01T21:00:00Z"),
    "email" : "mail@gmail.com",
    "name" : "name",
    "sex" : 1,
    "surname" : "surname"
  }
}
我试图只输出姓氏和姓名

我唯一能做到的是:

db.COLL.find({ }, {
   "_id" : 0,
   "education" : 0,
   "info" : 1
})
仅显示子文档中需要的元素的想法失败了:

db.COLL.find({ }, {
   "_id" : 0,
   "education" : 0,
   "info.surname" : 1,
   "info.name" : 1,
})

但是隐藏(info.email:0)是有效的。是否可以在不隐藏所有不需要的字段的情况下实现我的目标?

除了关闭
\u id
(默认情况下包括)之外,您不能混合包含和排除字段

因此,只需请求
info.name
info.name
字段:

db.coll.find({ }, {
    "_id" : 0,
    "info.surname" : 1,
    "info.name" : 1,
})
样本输出:

{ "info" : { "name" : "name", "surname" : "surname" } }