如何在虚拟上实现DBRef

时间:2012-02-22 06:46:54

标签: node.js mongoose

我有模型,虚拟参考用户模型。如何在不调用用户模型的情况下获取用户名称tour.who从diff tour打印多个用户。

//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;
            });

        });

1 个答案:

答案 0 :(得分:0)

如果您不想开始新查询,可以在查询游览对象时填充用户。

Tour.findOne().populate("user", "name").exec(function(err,user){
    if(err) console.log(err);
    else
        //console.log(user);
        //user.full;
});