我正在开发这个项目,我必须在MongoDB数据库上执行大量插入
据我所知,MongoDB是一个文档数据库,每个文档的大小都有限制here
现在大量插入代码看起来像这样
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 Driver连接到MongoDB
答案 0 :(得分:0)
当您插入这样的数组时,您将整个数组作为单个文档插入。您必须像使用单独的插入命令一样在数组中插入每个对象。