Node.js MongoDB(Mongoose)如何使用$elemMatch返回所有文档字段

Node.js MongoDB(Mongoose)如何使用$elemMatch返回所有文档字段,node.js,mongodb,mongoose,Node.js,Mongodb,Mongoose,根据MongoDB文档(): 启动: 学校。查找({zipcode:63109},{学生:{$elemMatch:{学校:102 }},函数(错误,学校){…} 该操作将返回以下文档: {{“id”:1,“学生”:[{“姓名”:“约翰”,“学校”:102,“年龄”: 10}]}{{{{u id:3}{{{u id:4,“学生”:[{“姓名”: “巴尼”,“学校”:102,“年龄”:7}]} 但是我也需要学校的价值 {{{“id”:1,“学校”:“学校A”,“学生”:[{“姓名”:“约翰”,“学校

根据MongoDB文档():

启动:

学校。查找({zipcode:63109},{学生:{$elemMatch:{学校:102 }},函数(错误,学校){…}

该操作将返回以下文档:

{{“id”:1,“学生”:[{“姓名”:“约翰”,“学校”:102,“年龄”: 10}]}{{{{u id:3}{{{u id:4,“学生”:[{“姓名”: “巴尼”,“学校”:102,“年龄”:7}]}

但是我也需要学校的价值

{{{“id”:1,“学校”:“学校A”,“学生”:[{“姓名”:“约翰”,“学校”:102,“年龄”: 学校:学校:C学校:4学校:D学校,学生:[{“姓名”: “巴尼”,“学校”:102,“年龄”:7}]}

我找不到实现这一点的方法…

如果指定了投影参数,则匹配的文档 仅包含投影字段和_id字段。您可以 可以选择排除_id字段

但是…我使用以下命令强制字段返回:

schools.find({ zipcode: 63109}, {school: 1, students: { $elemMatch: { school: 102 } } }, function (err, school) { ...}
一切似乎都很正常

schools.find({ zipcode: 63109}, {school: 1, students: { $elemMatch: { school: 102 } } }, function (err, school) { ...}