2017-10-16 52 views
-2

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

回答

0

MongoDB with the WirdeTiger engine supports an unlimited number of collections。所以你不会遇到任何严格的技术限制。

当你不知道的东西应该是一个集合或多个集合,这些都是一些你需要牢记的事项:

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

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

相关问题