gpt4 book ai didi

MongoDB - 是否需要 DBREF?

转载 作者:IT老高 更新时间:2023-10-28 13:04:36 25 4
gpt4 key购买 nike

使用 DBREF datatype在 MongoDB 中,文档可能如下所示。但是在每一行中都有 $ref 字段感觉是多余的,因为每一行显然都指向 users 集合。

有没有一种方法可以引用其他文档而不需要有点多余的 $ref-字段?

{
$id: {$oid : "4f4603820e25f4c515000001"},
title: "User group",
users: [
{_id: {$ref: "users", $id: { $oid: "4f44af6a024342300e000002"}}, isAdmin: true }
]
],

最佳答案

在我看来,在使用 mongodb 时应该避免使用 Dbref,至少在使用需要可扩展性的大型系统时。

据我所知,所有驱动程序都会发出额外的请求来加载 DBRef,因此它不是数据库中的“join”,它非常昂贵。

Is there a way to reference other documents without having the somewhat redundant $ref-field?

是的,记住引用,为“外键”创建命名约定(类似于 RefUserId 或只是 UserId)并只存储引用文档的 id。需要时自行加载引用文档。还要留意任何非规范化,嵌入你可以做的,因为它通常会大大提高性能。

关于MongoDB - 是否需要 DBREF?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9412341/

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