Gan*_*ank 1 mongoose mongodb node.js mongodb-query
ASchema={item:[BSchema]};
ASchema.findOne({item._id=xx})
Run Code Online (Sandbox Code Playgroud)
它得到一个BSchema数组,document.item是一个数组。如何只获得_id为xx的一项?
您希望使用查询投影的位置$运算符仅返回匹配的数组元素。对于猫鼬,您可以执行以下操作:
ASchema.findOne({"item._id": itemId},"item.$",function(err,doc) {
console.log( doc );
});
Run Code Online (Sandbox Code Playgroud)
或与对象配对:
ASchema.findOne({"item._id": itemId},{ "item.$": 1 },function(err,doc) {
console.log( doc );
});
Run Code Online (Sandbox Code Playgroud)
Mongoose支持速记语法,其中包括与字段相同的选项,例如“ -fieldname”用于字段删除{ "fieldname": 0 }。但是您不能将包含和排除混合在一起,但根_id字段除外。
因此,必须指定使用投影时要显示的所有字段。
另请参见.select()猫鼬文档。
| 归档时间: |
|
| 查看次数: |
904 次 |
| 最近记录: |