猫鼬连接两个不同的集合与不同的外键

问题描述:

用户模式:猫鼬连接两个不同的集合与不同的外键

博客模式

{ 
 
    title: "_title", 
 
    _id: "_mongodbID", 
 
    author: "random_30_characters_string" 
 
    ... 
 
}

Blogs.author是与Users.id相同的ID

而我正试图做的是当我使用Blogs.findOne()来获取一些博客文章时,Mongoose也将帮助我获取一些用户数据。

而且我已经成功地做到了这一点与原蒙戈shell命令

db.blogs.aggregate([ 
 
    { 
 
    $lookup: { 
 
     from: "users", 
 
     localField: "author", 
 
     foreignField: "id", 
 
     as: "author" 
 
    } 
 
    } 
 
])

我尝试猫鼬populate方法,但它并没有为我

+0

我相信我做了,在这个问题的顶部 –

让工作了肯定博客架构就像

author:{ 
    type:Schema.Types.ObjectId, 
    ref: 'Users' 
} 

和填充像下面

Blogs.findAll({}) 
.populate({ 
    path:author 
}) 
.exec((err, blogs)=>{ 
    console.log(err,blogs); 
})) 

更多信息检查官方文档