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,所以它被添加到另一个模型的查询结果中?