如何在虚拟上实现 DBRef
Posted
技术标签:
【中文标题】如何在虚拟上实现 DBRef【英文标题】:How to achieve DBRef on virtual 【发布时间】:2012-03-12 12:22:03 【问题描述】:我有模型,其中的虚拟参考用户模型。如何在不调用用户模型的情况下获取用户名也 tour.who 从 diff tour 打印多个用户。
//console.log(user);打印多个用户而不是特定于行程。 var TourSchema = 新架构( 用户:类型:Schema.ObjectId,参考:'用户', 游览:字符串, tour_slug:字符串, 日期:类型:日期,默认:Date.now, tour_date:日期, ); TourSchema .virtual("谁") .get(函数() User.findOne('fb._id':this.user,function(err,user) 如果(错误)控制台.log(错误); 别的 //console.log(用户); 返回user.full; ); );
【问题讨论】:
尝试填充功能 【参考方案1】:如果您不想开始新的查询,您可以在查询游览对象时 .populate 用户。
Tour.findOne().populate("user", "name").exec(function(err,user)
if(err) console.log(err);
else
//console.log(user);
//user.full;
);
【讨论】:
以上是关于如何在虚拟上实现 DBRef的主要内容,如果未能解决你的问题,请参考以下文章