2012-02-22 3 views
1

私はモデルを持っています。ユーザーモデルを呼び出さずにユーザー名を取得する方法も、ツアーツアーから複数のユーザーを表示するツアーです。 仮想でDBRefを実現するには

//console.log(user);
旅行に特有の代わりに複数のユーザーを表示します。

 

    var TourSchema = new Schema({ 
     user:{ type: Schema.ObjectId, ref: 'User' }, 
     tour:String, 
     tour_slug:String, 
     date:{type:Date, default: Date.now}, 
     tour_date:Date, 
    }); 

    TourSchema 
     .virtual("who") 
     .get(function(){ 
      User.findOne({'fb._id':this.user,function(err,user){ 
       if(err)console.log(err); 
       else 
        //console.log(user); 
        return user.full; 
      }); 

     }); 

答えて

0

新しいクエリを開始したくない場合は、ツアーオブジェクトをクエリすると、ユーザーを追加できます。

Tour.findOne().populate("user", "name").exec(function(err,user){ 
    if(err) console.log(err); 
    else 
     //console.log(user); 
     //user.full; 
}); 
関連する問題