Node.js 减少MongoDB延迟
我的NodeJS服务器用于使用版本“MongoDB”中较旧的语法连接到远程MongoDB实例“^2.2.33”。但是,在我更新了新版本3.1.3的语法之后,数据获取似乎要慢得多。连接的身份验证/检索客户端似乎比以前花费了更长的时间。以前有人面对过这种情况吗?对此有什么建议吗 以下MONGODB_主机变量的格式为:[用户名:password@IP_address] 之前(对于版本2.2.33): 之后(版本3.1.3): 编辑:Node.js 减少MongoDB延迟,node.js,mongodb,Node.js,Mongodb,我的NodeJS服务器用于使用版本“MongoDB”中较旧的语法连接到远程MongoDB实例“^2.2.33”。但是,在我更新了新版本3.1.3的语法之后,数据获取似乎要慢得多。连接的身份验证/检索客户端似乎比以前花费了更长的时间。以前有人面对过这种情况吗?对此有什么建议吗 以下MONGODB_主机变量的格式为:[用户名:password@IP_address] 之前(对于版本2.2.33): 之后(版本3.1.3): 编辑: 在使用console.time测量了几次延迟之后,两个版本的速度都是
在使用console.time测量了几次延迟之后,两个版本的速度都是一样的。例如,连接时间约为2700ms,而从远程MongoDB服务器(包括连接和身份验证)仅获取约1小时的数据(约2593条记录)约需6800ms。我仍然在积极寻找如何减少这种延迟的方法,无论是在MongoDB上,还是在(低成本)低延迟NoSQL DB上,谢谢 数据的结构是什么,它的索引是什么?这些是时间序列数据,类似于:{device:12345,time:“2018-08-20T00:00:00.000Z”,value:20,_id:12345152304800000},其中索引使用与unix时间戳连接的设备id。
mongoClient.connect(`mongodb://${process.env.MONGODB_HOST}:27017/test`, function(err, db){
console.log("Mongo client connected");
db.collection('data')
.find({ ... })
.sort({ time: 1 })
.toArray(function(err, items){
console.log(items);
db.close();
}
});
mongoClient.connect(`mongodb://${process.env.MONGODB_HOST}:27017/test`, { useNewUrlParser: true }, function (err, client) {
if(err) console.log(err);
const db = client.db('data');
db.collection(collection)
.find(query) // query parameters in JSON object
.sort({ time: 1 })
.toArray(function (err, items) {
console.log(items);
client.close();
});
});