在猫鼬中,如何选择数组属性中的字段
在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