我正在做这个项目,我必须在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
当您插入这样的数组时,您将整个数组作为一个文档插入。您必须像使用单个插入命令一样在阵列中插入每个对象。