如何优化mongo插入?

时间:2014-03-18 02:35:58

标签: mongodb database

我有多个客户端将记录插入到中央mongo数据库中的表(有300万条记录)中。 如果是mysql / oracle,我可以使用sql-loader / storage过程来批量处理插入。 有没有通用的方法来优化这样的Senario?

2 个答案:

答案 0 :(得分:0)

可以在MongoDB中进行批量插入。有关详细信息,请查看documentation

从文档中引用:

  

insert()方法在传递文档数组时执行批量插入,并以原子方式插入每个文档。批量插入可以通过分摊写入关注成本来显着提高性能。

答案 1 :(得分:0)

当然使用insert方法。

应该在您的驱动程序中支持它。只需将第一个参数作为文档数组,如here所示。

但是基本形式:

db.collection.insert([
    { type: "Apple", color: "Red" },
    { type: "Banana", color: "Yellow" },
    { type: "Orange", color: "Orange" },
])

当然,你需要设置一个“明智的”限制,以保持在16MB BSON size limit文件下。这是整个插入语句的内容。