3

Mongooseには、そのようなスキーマがあります

var schema= mongoose.Schema({
         name:String,
         age:String
         likes: [{ type:String, price:String}]                       
});

マングースと同様に、Model.find(conditions, [fields], [options], [callback]) のオプションにより、必要なフィールドを選択できます。ただし、スキーマには配列プロパティ「likes」があり、クエリでは、すべてではなく 1 つのプロパティ タイプのみを選択したいのですが、このクエリを作成するにはどうすればよいですか?

4

2 に答える 2

11

私は実際にそれを見つけました

Model.findOne({ 'name': name }, 'name age likes.type', callback);
于 2013-03-05T17:20:37.717 に答える
0

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 のドキュメントにあります

大量のデータをトラバースするためにカーソルを使用することを忘れないでください (ドキュメントのストリーミングセクションで説明されています)。

于 2017-02-15T09:24:15.117 に答える