mongoose发现非常慢但robomongo非常快

时间:2017-01-19 09:59:36

标签: javascript node.js mongodb mongoose

我的mongodb已安装在远程计算机上,已启用索引。 收集文件总数约为 15 000 000 。 在我的本地计算机上,我使用mongoose find()进行搜索,最后返回 60000 结果。 但是find()将需要 70秒 。然后我使用lean(),时间成本约为 40秒 ,好一点但仍然太长。

仍然在我的本地机器上,我使用robomongo客户端连接到这个远程mongodb,进行相同的搜索,只有 28ms

var UserSchema = new Schema({
  monitorName : {type: String},
  value : {type: Number},
  updateDate : {type: String}
});

我的搜索条件如下:

Model.find().where('updateDate').gt('1/18/2017, 11:37:25 PM').lt('1/19/2017, 11:37:25 PM').lean().exec(function(err, docs){ ......

1 个答案:

答案 0 :(得分:0)

我非常肯定Robomongo使用 .limit(<n>)&amp; .skip(<n>) (50条记录) 默认情况下。

因此,它不会检索与常规.find()操作一样多的集合。

这可能是为了避免用户意外地运行阻止UI的大量查询,并使窗口无响应的情况。