【发布时间】:2019-09-26 15:10:08
【问题描述】:
我正在将具有 1 亿行的 MySql 表迁移到 MongoDB 数据库,该表存储公司的文档,它们的区别是 company_id 列。我想知道在 mongodb 上有多个集合是否会比一个集合更快,例如,每个公司都有自己的集合(集合:company_1、company_2、company_3 ...)并且只存储来自该公司的文档,所以我会不需要过滤,因为如果我只有 1 个大集合并且在每个文档中都会有一个名为 company_id 的列用于过滤文档,我需要这样做。 在这种情况下,哪种方法效果最好?
编辑: 这是一个 JSON 文档示例:https://pastebin.com/T5m2tbaY
{"_id":"5d8b8241ae0f000015006142","id_consulta":45254008,"company_id":7,"tipo_doc":"nfe","data_requisicao":"2019-09-25T15:05:35.155Z","xml":Object...
【问题讨论】:
-
了解单个文档中包含哪些数据会很有帮助。
-
把它们放在同一个集合和索引字段
company_id. -
@barrypicker 我将有 1 个日期字段、1 个 int 字段、1 个字段来标识什么是文档类型(nfe、nfce、cte、cteos、mdfe 或 cfe)以及另一个将存储有几十个嵌套对象的对象(这是一个转换为对象的 XML 文件),我需要在这个字段的嵌套对象中做很多过滤器
-
@barrypicker 这是一个文档示例:pastebin.com/T5m2tbaY
-
@Marcelo,感谢您提供示例数据。我没有在示例中看到 company_id。它是在不同的名称下吗? (更新 - 没关系 - 我看到 id_empresa)
标签: mongodb mongodb-php