我这周才开始学习 MongoDB。在此之前,我只熟悉SQL,所以我需要一些时间来转换我的逻辑。
我在这里有一个关于一对多关系的简单问题。
假设我有一本书要出租,我想记录出租历史。我应该使用哪个模式?
方案 A:创建一个文档,使用 BookId 作为参考,并保存所有的租借历史记录。
方案 B:创建多个文档并使用 BookId 作为参考。每次借书的时候,我都会为它创建一个文档。
哪个方案更好?我猜B计划更好,但我不确定。
我这周才开始学习 MongoDB。在此之前,我只熟悉SQL,所以我需要一些时间来转换我的逻辑。
我在这里有一个关于一对多关系的简单问题。
假设我有一本书要出租,我想记录出租历史。我应该使用哪个模式?
方案 A:创建一个文档,使用 BookId 作为参考,并保存所有的租借历史记录。
方案 B:创建多个文档并使用 BookId 作为参考。每次借书的时候,我都会为它创建一个文档。
哪个方案更好?我猜B计划更好,但我不确定。
http://docs.mongodb.org/manual/core/data-modeling/对如何构建集合有很好的建议。
您的任何一个方案都可以工作,但如果每本书有大量出租,您必须使用计划 B,因为文档具有最大大小。
您还可以混合使用计划 A 和 B,例如,使用计划 B,但还可以将有限的最近租金数组与图书一起存储,这样您就可以通过一次访问数据库来满足初始查询,但如果用户随后向下滚动查看更多您开始获取租赁记录。
您通常可以像在 SQL 中那样考虑它,然后在需要提高性能时添加一些非规范化。