我正在使用node.js向mongodb插入大量数据。该程序工作正常,我可以在mongo db的数据库路径中看到数据被写为databasename.0的文件,其为128 kb,databasename.1为256 kb,databasename.0为512 kb,databasename .0是1024 kb,最后一个文件是2048 kb,当插入最后一个2048 kb的文件时,连接丢失了mongodb并且没有插入数据。为什么会发生这种情况如何摆脱这个请解释我的概念。我将附加用于插入数据的代码。 // connection.js用于建立连接
var Db = require('mongodb').Db;
var connection = require('mongodb').connection;
var Server = require('mongodb').Server;
var connectionInstance;
module.exports = function(callback) {
if (connectionInstance) {
callback(connectionInstance);
return;
}
var serverOptions = {
'auto_reconnect': true,
'poolSize': 100
};
var db = new Db('test', new Server('localhost', 27017, serverOptions));
db.open(function(err, databaseconnection) {
if (err)
console.log(err);
connectionInstance = databaseconnection;
console.log("connection Established");
callback(databaseconnection);
});
};
//The pgm to insert the data on to the mongodb using node.js
var i = 0;
var MongoClient = require('mongodb').MongoClient;
var mongoServer = require('mongodb').Server;
var serverOptions = {
'auto_reconnect': true,
'poolSize': 5
};
var i = 0;
var async = require('async');
var mongoClient = new MongoClient(new mongoServer('localhost', 27017, serverOptions));
var db = mongoClient.db('test');
var collection = db.collection('new_file_test');
var doc
mongoClient.open(function(err, mongoClient) {
if (err) {
console.log(err)
};
function save(callback) {
console.log("Am the first");
doc = {
'trip_paramid': "111",
'tripid': '116',
'lattitude': '12.8929183',
'longitude': '77.63627',
'speed': '2',
'heading': '0',
'altitude': '80469',
'address': 'qwertyasdfgxcvbn',
'engine_status': 'Normal',
'oil_pressure': '83.12',
'water_temp': '28',
'fuel_content': '0',
'brake': 'Normal',
'creation_time': '2013-08-31 23:22:17',
'brakelight_status': 'Normal',
'battery_status': '12.68',
'event_code': '8',
'dbinsert_time': '2013-08-31 23:24:59',
'gsm_status': '-51',
'cell_id': '45',
'vehicle_id': '123456',
'distance': '0'
}
callback(doc);
}
save(function(doc) {
console.log("I got it first");
console.log("Inserting" + i);
collection.insert(doc, function(err) {
if (err)
console.log('Error occured');
else
console.log("Inserted" + i);
});
});
});
答案 0 :(得分:0)
问题在于使用的32位mongodb只能存储大约2GB的数据。当我用64位替换它时,它完美无缺。