2016-11-07 5 views
2

と配列型のフィールドを除外するために、私はこのようなスキーマを持っている:私はコレクションにクエリを行うとはどのようにマングース

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')を使用せずにフィールドを非表示にするにはどうすればよいですか?

+0

あなたの手で私たちのクエリを表示することができますか? – chridam

+0

あなたは' City.find({}) {}、 'name region')sort( 'name')。lean()。exec(function(err、cities){console.log(cities);}) '? – chridam

+0

可能な複製[select:falseをスキーマのサブ文書の配列に指定する](http://stackoverflow.com/questions/17374293/specifying-select-false-on-array-of-subdocuments-in-schema) –

答えて

1

select: falseを入力するときは、imagesの配列に含めないようにします。 images配列自体にはselect: falseを入れる必要があります。

this stackoverflow postをご覧ください。あなたのケースに適用


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, 
    }, 
}); 
+1

nice。ありがとう:) –

関連する問題