我想知道是否有很多收藏品

时间:2017-10-16 13:15:09

标签: mongodb

许多mongodb集合对mongodb性能,内存和容量有很大影响吗?我正在设计一个带有mvc模式的api,并且正在为每个模型创建一个集合。我质疑我现在的做法。

2 个答案:

答案 0 :(得分:0)

为什么不使用它并测试您的应用程序?

https://docs.mongodb.com/manual/tutorial/evaluate-operation-performance/

顺便说一句,你的问题并不完全清楚......更像是一个"讨论"而不是问题。并且您要求其他人评估您的工作,而不是在网上搜索严谨的方法。

答案 1 :(得分:0)

MongoDB with the WirdeTiger engine supports an unlimited number of collections。因此,您不会遇到任何严格的技术限制。

当您想知道某个集合或多个集合中是否应包含某些内容时,请注意以下几点:

  • 更多收藏品=更多维护工作。在集合级别配置分片。因此,拥有大量集合将使分片配置更加有效。您还需要分别为每个集合设置索引,但这很容易自动化,因为已存在的索引上的createIndex不会执行任何操作。
  • MongoDB API的设计方式是每个数据库查询一次对一个集合进行操作。这意味着当您需要在n个不同的集合中搜索文档时,您需要执行n个查询。当您需要聚合存储在多个集合中的数据时,会遇到更多问题。因此,任何一起查询的数据都应该存储在同一个集合中。

为模型中的每个类创建一个集合通常是一个神的经验法则,但它不是一个金锤解决方案。在某些情况下,您希望将对象嵌入其父对象文档中,而不是将它们放入单独的集合中。在某些情况下,您希望将具有相同基类的所有对象放在同一个集合中,以便从MongoDB处理异构集合的能力中受益。但这超出了这个问题的范围。