MongoDB缓慢插入包含嵌套数组的数据

时间:2019-01-04 12:31:58

标签: node.js mongodb mongoose

我试图将新数据插入mongodb,但是插入速度太慢。 如果我尝试将所有内容都插入到新集合中,那么我认为存在一些限制,也许可以通过重新配置mongo来解决。

插入行:

{
"_id" : ObjectId("5c2cc847d195177646721cd8"),
"startTime" : 1.546405302e+15.0,
"blocks" : [ 
    {
        "deltas" : [ 
            1, 
            0, 
            0, 
            8, 
            127, 
            127, 
            127,
            ...
            N
         ]
      },
      {
        "deltas" : [ 
            1, 
            0, 
            0, 
            8, 
            127, 
            127, 
            127,
            ...
            N
         ],
        ...
        N
    },
    ...
   ]
}

blocks键通常包含100个元素。

增量键通常包含1000个元素。

集合大约有28k行。

收款统计: enter image description here

有什么办法解决此问题吗?

2 个答案:

答案 0 :(得分:0)

我不建议在您的文档中嵌入大型数组,因为有些人知道大型嵌入式数组会影响Mongodb的性能。

您可以更快地进行写入的方法之一是禁用write concerns,这基本上不会等待MongoDB服务器的确认。这可能有点冒险,您应该了解一些caveats,请单击链接获取有关这些的更多信息。

答案 1 :(得分:0)

向文档添加其他数据使mongodb可以将文档重新插入以释放空间。如果您的阵列具有最大长度,请尝试使用上限集合。