2

我认为公平地说我对 MongoDB 很陌生,今天下午刚刚安装了数据库。

我正在设法掌握存储和检索对象,但我正在努力寻找存储具有多对多关系的对象的最佳方法。

我已经遇到过 DBRef 对象并且已经开始工作了,但这似乎只支持延迟加载的方法。

有没有办法鼓励 MongoDB 急切地加载 DBRefs?
是否有更好/不同的方式来存储多对多关系?

非常感谢

4

1 回答 1

3

所以首先,我认为你需要看看这里的这个问题,它谈到了多对多的关系。

要理解的另一件事是“DBRefs”的性质。MongoDB 数据库不提供任何连接功能

DBRef 只是几年前几个库/驱动程序实现者商定的标准。DBRef 只是一个特定符号的 JSON 对象,它提供指向某个集合中的其他文档的指针。因此,“延迟与急切”加载的实现完全特定于您正在使用的驱动程序/包装器库。

也就是说,“急切加载”的概念对于 MongoDB 来说是毫无意义的。在 SQL 中,您可以通过使用某种形式的急切加载和“提前”进行连接来潜在地节省总查询量。同样,数据库不支持连接,因此“急切加载”需要与“延迟加载”相同数量的查询。

于 2012-05-17T18:31:57.867 回答