所以我在mongo中添加了一堆记录(1.6 million)
。我之前用稍微少一点(400K)完成了这个并且它更新了记录,我决定调高音量以完成更多工作。我想通过以下代码加载的过程是。
<- run script
<- grab doc
<- process doc
<- store values in memory
<- save to db
是吗?或者是否有其他事情在幕后进行处理,这取决于所添加信息的大小。此外,因为它已经过了30分钟并且没有添加任何数据,这个过程是悬挂的还是后端还有更多的数据?
任何地方都没有错误消息,脚本完全没有任何错误但没有添加数据。
初始化节点以运行脚本
节点--max-old-space-size = 15000
var mongoose = require("mongoose");
mongoose.connect('mongodb://localhost:27017/campaignDb');
var gmaModel = require("./models/gmaInstalls");
// testData = require("./jsonBig/json1");
exports.addJsonToDb = function(){
for(var j = 3; j < 7; j++){
json = require("./jsonBig/json" + j)
console.log("file #" + j)
for (k in json) {
for(var i = 0; i < json[k].length; i++){
var install = new gmaModel();
install.date = json[k][i]['EventFireDateOut'];
install.device = json[k][i]['device'];
install.site = json[k][i]['site'];
install.offer = json[k][i]['Offer'];
install.product = json[k][i]['Product'];
install.creative = json[k][i]['Creative.'];
install.installs = json[k][i]['Installs'];
install.dayofweek = json[k][i]['dayOfWeek'];
install.hour = json[k][i]['hour'];
install.month = json[k][i]['month'];
install.day= json[k][i]['day'];
install.save(function(err){
// save() will run insert() command of MongoDB.
// it will add new data in collection.
if(err) {
console.log(err)
} else {
response = {"error" : false,"message" : "Data added"};
}
});
}
}
}
};