3

在猫鼬中,我有这样的模式

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

和猫鼬一样,Model.find(conditions, [fields], [options], [callback])中的选项让我们可以选择我们需要的字段。但是在我的架构中,有一个数组属性“喜欢”,并且在查询中,我只想选择一种属性类型而不是所有属性类型,我该如何进行此查询?

4

2 回答 2

11

我真的发现了,就在

Model.findOne({ 'name': name }, 'name age likes.type', callback);
于 2013-03-05T17:20:37.717 回答
0

因为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部分中进行了描述)。

于 2017-02-15T09:24:15.117 回答