mongodb与猫鼬的一对一关系

Posted

技术标签:

【中文标题】mongodb与猫鼬的一对一关系【英文标题】:One to one relationships in mongodb with mongoose 【发布时间】:2022-01-14 01:22:19 【问题描述】:

我有 2 个名为“用户”和“链接”的数据库。每当有新用户注册时,都会在具有唯一 ID 的用户中创建一个集合。我想要的是在链接中创建另一个集合,其中包含一个字段userId,该字段具有新创建的用户的 id。此外,我希望将来自 Links 的新集合的 ID 添加到新创建的用户集合中。如何使用mongoosemongodb 实现这一目标?

我的理解是写3个查询如下:

const user = await User.create(req.body) //comes from the client side
const link = await Link.create(userId: user._id)
const updatedUser = await User.findOneAndUpdate(_id: user._id, link: link._id)

我想知道的,这是正确的方法吗?

【问题讨论】:

【参考方案1】:

这不是直接回答您的问题,但您可能需要重新考虑您选择的数据库类型。由于您谈论的是跨多个表的键查询,其中记录具有某种关系,您可能希望查看关系数据库,例如 PostgreSQL。

【讨论】:

以上是关于mongodb与猫鼬的一对一关系的主要内容,如果未能解决你的问题,请参考以下文章

mongodb一对n关系中的两种导航

带有打字稿的猫鼬,来自猫鼬的错误“连接”

带有猫鼬的 GraphQL

如何使用父引用填充猫鼬中的一对多关系?

如何优雅地关闭猫鼬的连接池?

获取子文档猫鼬的新创建/推送元素的值