如何用mongoose排除数组types的字段

我有这样的架构:

var CitySchema = new Schema({ name: {type : String, required : true}, region: {type: Schema.Types.ObjectId, ref: 'Region', required : true}, images: [{type : Schema.Types.ObjectId, ref: 'Image', select: false}] }); 

当我对这个集合进行查询时,即使我把select: false也显示出来, 如何隐藏字段而不使用.select('-images')

当你把select: false ,你说要排除images数组的值。 你需要把select: falseimages数组本身。

看看这个stackoverflowpost 。


适用于你的情况

 var CitySchema = new Schema({ name: {type : String, required : true}, region: {type: Schema.Types.ObjectId, ref: 'Region', required : true}, images: { type: [{type : Schema.Types.ObjectId, ref: 'Image', select: false}], select: false, }, });