yii Mongoose 模型快速关系

noj0wjuj  于 2022-11-09  发布在  Go
关注(0)|答案(1)|浏览(138)

在mongoose中,有没有什么方法可以在模型之间进行快速的关系引用?
例如,在Yii中,可以引用相关的模型,如:

$player->team->league->name;

在mongoose中,我现在必须使用findById:

Team.findById(player.team_id, function(err,team){
   if (team != null && !err){
      League.findById(team.league_id, function(err,league){
         if (league != null && !err){
            console.log(league.name);
        (..)
50few1ms

50few1ms1#

如果您的模式表示模式之间的关系(在模式中定义引用的ObjectId),则您应该能够调用populate来自动查找引用的文档,并在输出文档中将其交换为ObjectId,如下所示:

const leagueName = (await Team.findById(player.team_id)
  .populate({ 
    path: 'league_id', 
    select: 'name'
  })
).league_id.name

相关问题