MongoDB关于collection.insert和数据大小的困境



我正在做这个项目,我必须在MongoDB数据库上执行大规模插入

我知道MongoDB是一个文档数据库,每个文档的大小都有限制,如所示

现在大规模插入代码看起来像这个

RockBand.collection.insert(mass_data)

mass_data是类似的数组散列

[
{
name: "LedZepplin",
member : 4, 
studio_album : 10,
... 
...
...
},
{ 
name: "Linkin Park",
member: 5,
studio_album: 7,
...
... 
...
},
{
... 
...
},
...
...
]

阵列的总长度为500K-100K

我确信,数组中的上述哈希(基本上是MongoDB中的一个文档)都不是16MB 大小

所以每当我执行时

RockBand.collection.insert(mass_data)

为什么它会像上面的状态一样给我16MB的极限错误,我很确定数组中的上述文档(即哈希)都不是16MB的。

那么为什么文档的数据大小错误超过

当它应该考虑时,它是否将整个阵列视为单个文档

数组的每个散列作为一个单独的文档

有人能建议吗

顺便说一句,我在MongoDB ruby驱动程序上使用Mongoid驱动程序来连接MongoDB

当您插入这样的数组时,您将整个数组作为一个文档插入。您必须像使用单个插入命令一样在阵列中插入每个对象。

相关内容

  • 没有找到相关文章

最新更新