使用MongoDB中的DBREF数据类型,文档可能如下所示.但是$ref每行中的字段都显得多余,因为每一行都明显指向users集合.
有没有办法引用其他文件而没有多余的$ref余地?
{
$id: {$oid : "4f4603820e25f4c515000001"},
title: "User group",
users: [
{_id: {$ref: "users", $id: { $oid: "4f44af6a024342300e000002"}}, isAdmin: true }
]
],
Run Code Online (Sandbox Code Playgroud)
And*_*ich 39
在使用mongodb时,我认为应该避免使用Dbref,至少如果您使用需要可伸缩性的大型系统.
据我所知,所有驱动程序都提出了加载DBRef的额外请求,因此它不是在数据库中" 加入 ",而是非常昂贵.
有没有办法在没有多余的$ ref-field的情况下引用其他文档?
是的,请记住引用,为" 外键 "(类似于RefUserId或仅仅是UserId)创建命名约定,并仅存储引用文档的id.需要时自己加载参考文档.也可以睁大眼睛看任何非规范化,嵌入你可以做,因为它通常会大大提高性能.
| 归档时间: |
|
| 查看次数: |
20258 次 |
| 最近记录: |