The DBREF 的 MongoDB 文档 https://docs.mongodb.org/manual/reference/database-references/ say:
除非您有令人信服的理由使用 DBRef,否则请使用手动引用。
为什么? DBREF 似乎更易于使用,因为它们对数据库和集合名称进行编码,这将减少应用程序中的硬编码。另外,DBREF 是许多驱动程序都能理解的标准格式 https://docs.mongodb.org/manual/reference/database-references/#driver-support-for-dbrefs.
这个问题是相关的,但不完全相同:
MongoDB - DBREF 是必要的吗? https://stackoverflow.com/questions/9412341/mongodb-is-dbref-necessary
该问题的答案是嵌入/非规范化优于链接,但它并没有回答为什么手动链接优于 DBREF 的问题。
这是我所看到的所有内容的结论。
Using DBRef
不是一个join
操作时,会自动查询第二次或多次,取决于多少DBRef
你已经进入了这个收藏领域。
假设您有一个集合,其模型有 10 个DBRef
,您查询 10 个元素的列表以及其中之一DBRef
is really needed
。一旦你查询,Mongodb就会运行101(1 + 10*10)
自动查询,无论您需要这些DBRef
或不。如果您手动查询这些字段,只需一些编码即可11(1 + 1*10)
需要查询。
你认为呢?
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)