我有多个客户端将记录插入到中央mongo数据库中的表(有300万条记录)中。 如果是mysql / oracle,我可以使用sql-loader / storage过程来批量处理插入。 有没有通用的方法来优化这样的Senario?
答案 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文件下。这是整个插入语句的内容。