【发布时间】:2013-11-14 11:08:41
【问题描述】:
MongoDB支持批量插入http://docs.mongodb.org/manual/core/bulk-inserts/
我在 Meteor 收藏中试过了:
Orders.insert([
{ "cust_id" : "A123", "amount" : 500, "status" : "A", "_id" : "iZXL7ewBDALpic8Fj" },
{ "cust_id" : "A123", "amount" : 250, "status" : "A", "_id" : "zNrdBAxxeNZQ2yrL9" },
{ "cust_id" : "B212", "amount" : 200, "status" : "A", "_id" : "vev3pjJ8cmiDHHxe4" },
{ "cust_id" : "A123", "amount" : 300, "status" : "D", "_id" : "BBLngRhS76DgeHJQJ" }
]);
但它只是创建
{ "0" : { "cust_id" : "A123", "amount" : 500, "status" : "A", "_id" : "iZXL7ewBDALpic8Fj"},
"1" : { "cust_id" : "A123", "amount" : 250, "status" : "A", "_id" : "zNrdBAxxeNZQ2yrL9" },
"2" : { "cust_id" : "B212", "amount" : 200, "status" : "A", "_id" : "vev3pjJ8cmiDHHxe4" },
"3" : { "cust_id" : "A123", "amount" : 300, "status" : "D", "_id" : "BBLngRhS76DgeHJQJ" },
"_id" : "6zWayeGtQCdfS65Tz" }
我需要它来进行性能测试。我需要用数千个测试项目填充和测试数据库。我在 foreach 中进行了插入,但是填充数据库需要很长时间。
这里有什么解决方法吗?或者我们可以期待 Meteor 在下一个版本中支持这一点吗?
【问题讨论】:
-
如果花费的时间太长,您可以并行运行多个客户端,每个客户端都从 forEach 循环发送文档 - 它的速度应该接近客户端进程的数量。