我有一个名为产品的集合。我的6种不同用户类型可以向系统添加产品,所有产品都具有相同的产品架构。我可以将产品与用户类型相关联,我这样做也没有问题,但我不知道随着集合在可管理性方面变得越来越大,会是什么样子。
应用程序的工作方式是每种用户类型只能看到特定其他用户类型列出的产品。例如, userType2 只能看到userType1列出的产品, userType3 可以看到来自userType2和userType4的产品。这样的事情。
我想为每个用户提供类似这样的产品的自己的收藏:
userType1_products , userType2_products , userType3_products 等
这对我们有益吗?还是我应该坚持使用所有产品的单一系列?建议?
答案 0 :(得分:0)
首先,这个决定应该基于您正在处理的域的建模,而不是性能。 MongoDB旨在向外扩展shard your collection并添加其他服务器节点,将所有产品保存在一个集合中时不会出现任何重大性能问题。
由于产品具有完全相同的模式,如果至少有一个操作对产品起作用而不管用户类型如何,我会将它们全部保存在同一个集合中。如果您始终决定用户如何处理产品类型,那么这将是一个建模信息,将基于用户类型的产品拆分为多个集合将使您的数据对于必须使用它的每个人都更容易理解。 / p>
在出现问题时开展工作。首先关注可理解的数据并正确地模拟您的世界。