用户架构:
{
username: "milkeypony",
_id: "_mongodbID",
id: "random_30_characters_string"
...
}

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

Blogs.author
与Users.id
我尝试做的是当我使用Blogs.findOne()
获取一些博文时,Mongoose也会帮我提取一些用户数据。
我已经使用原始Mongo shell命令
成功完成了这项工作
db.blogs.aggregate([
{
$lookup: {
from: "users",
localField: "author",
foreignField: "id",
as: "author"
}
}
])

我尝试使用猫鼬populate
方法,但它并没有为我做好
答案 0 :(得分:5)
确保Blogs架构具有
author:{
type:Schema.Types.ObjectId,
ref: 'Users'
}
并填充如下
Blogs.findAll({})
.populate({
path:author
})
.exec((err, blogs)=>{
console.log(err,blogs);
}))
更多信息检查官方文档