在猫鼬中,如何选择数组属性中的字段

在Mongoose中,我有这样的模式

var schema= mongoose.Schema({
         name:String,
         age:String
         likes: [{ type:String, price:String}]                       
});

与在猫鼬中一样, Model.find中选项 (条件,[字段],[选项],[回调])给了我们选择我们需要的字段的选择。 然而在我的模式中,有一个数组属性'likes',在查询中,我只想选择一种属性类型而不是全部属性,我怎样才能使这个查询?


我真的发现了它,只是通过

Model.findOne({ 'name': name }, 'name age likes.type', callback);

对于find()你需要使用select()链接调用,如下所示:

Model.find({ name: name }).select('name age likes.type').exec(function() {

});

要么

Model.find({ name: name }).select({ 'name': 1, 'age': 1, 'likes.type': 1 }).exec(function() {

});

Mongoose文档中有更多示例

不要忘记使用光标遍历大量的数据(它在文档的Streaming部分中有描述)。

链接地址: http://www.djcxy.com/p/60683.html

上一篇: in mongoose, how to select the fields in a array property

下一篇: Mongoose indexing in production code