3

私は次の人による埋め込みドキュメントuserのスキーマを持っています:MongooseJSphotosPhotoSchema

var UserSchema = new Schema({
    email    : { type : String, index : 'unique', set: toLower }
  , login    : { type : String, index : 'unique' }
  , password : { type : String } 
  , salt     : { type : String }
  , photos   : [ PhotoSchema ]
  , name     : { type : String }
});

1つを取得する場合、結果セットuserの数量を制限するにはどうすればよいですか?photos

または、ユーザーが持っているすべての写真を取得する必要がありますか(100万枚ある場合でも)?

4

1 に答える 1

6

写真の数が限られているユーザーを取得することはできませんが、次のことができます。

1. 最初に写真なしでユーザーを読み込みます。

db.users.find( { _id: 1 }, { photos : 0 } );

2.必要なユーザーの写真だけをロードします。

db.users.find({}, {photos:{$slice: [20, 10]}}) // skip 20, limit 10

ドキュメンテーション

于 2011-06-15T09:45:43.437 に答える