gpt4 book ai didi

node.js - Mongoose 使用不同的外键加入两个不同的集合

转载 作者:太空宇宙 更新时间:2023-11-03 22:45:39 25 4
gpt4 key购买 nike

用户架构:

{
username: "milkeypony",
_id: "_mongodbID",
id: "random_30_characters_string"
...
}

博客架构

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

Blogs.authorUsers.id 中的 ID 相同

我想做的是,当我使用 Blogs.findOne() 获取一些博客文章时,Mongoose 也会帮助我获取一些用户数据。

我已经使用原始 Mongo shell 命令成功完成了此操作

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

我尝试了 mongoose populate 方法,但它对我不起作用

最佳答案

确保博客架构类似

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

并按如下方式填充

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

更多信息查看官方文档

关于node.js - Mongoose 使用不同的外键加入两个不同的集合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47486583/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com