【发布时间】:2021-03-24 14:32:49
【问题描述】:
我有一个只有 2 个文档的 mongodb 数据库。两者具有相同的结构:
{ "general" { "name": "abc", "sid": "435435"},"resources":[{"id":1,"cnt":20}] "messages" : []}
小文档在消息中有 0 个对象,大文档有 1000 个。我数了两个文档中的符号: 小:28000 大:450000
我正在使用 nodeJS 和常规 mongodb 驱动程序 来访问文档,并且我将索引设置为“general.sid”。
现在我通过他们的 general.sid 请求文件。两个文件的时间相差很大!我收到文件,进行一些计算并更新文件 general.resources。
我打印了接收和更新文档之前和之后的时间我做了几次这样的查询:
接收:小文档时间跨度:1-2ms
接收:大文件时间跨度:7-20ms
写作:小文档时间跨度:1-2ms
写作:大文档时间跨度:5-10ms
接收函数代码:
db.get().collection('player_data').find({"general.sid":UID}).limit(1).toArray(function (err, result){
if(err){
reject(null);
}
resolve(result);
});
为什么会有这么大的差异?
我不是 mongodb 或 nodejs 的专家,所以如果您需要任何其他数据,请告诉我!
【问题讨论】:
标签: node.js mongodb performance