Mongoosejs使用select查找返回不需要的数组字段
我有一个猫鼬模式:Mongoosejs使用select查找返回不需要的数组字段,mongoose,Mongoose,我有一个猫鼬模式: var schema = mongoose.Schema({ name: 'string', title: 'string' tracks: [trackSchema], }); 当我尝试选择记录并限制所选字段时: Model.find({}).select('name').exec(cb) 结果包括_id、name和tracks字段,但不包括title。但为什么它包括轨道 我只能通过以下方式排除它: Model.
var schema = mongoose.Schema({
name: 'string',
title: 'string'
tracks: [trackSchema],
});
当我尝试选择记录并限制所选字段时:
Model.find({}).select('name').exec(cb)
结果包括_id、name和tracks字段,但不包括title。但为什么它包括轨道
我只能通过以下方式排除它:
Model.find({}).select('-tracks').exec(cb)
所以我想知道发生了什么,我如何才能只选择名称字段
Mongoose 3.8.6由于@robertklep而得以解决 问题是其中一个字段的trackSchema包含{select:true}
var trackSchema = mongoose.Schema({
prop: {type: {....}, select: true}
});
您在您的模式中没有使用select:true?是的,您是对的,在我的trackSchema中。非常感谢。您可以发布答案,我会检查它是否正确。好吧,我现在感兴趣:因为您在trackSchema中有一个select:true,所以它被添加到另一个模型的查询结果中?