Mongodb在大型数据集上查找查询

时间:2019-12-19 11:14:57

标签: node.js mongodb mongoose

从mongodb提取数据时遇到问题。 Db现在有50k +数据。 当我在mongo shell上执行查询时,结果将在2秒内返回。但是,当我从nodejs获取数据时,大约需要15秒钟以上的时间。

我尝试使用索引,但没有使用。

var arr = [... commonSearch。$ and,... searchQuery。$ and]; //总共有9个条件

let totalRecord =等待testModel.find({$ and:arr},{dcn:1});

系统详细信息: nodejs v8.2.0 mongo v4.2.2 猫鼬v4.13.0

1 个答案:

答案 0 :(得分:0)

创建与您在查询中使用的字段相对应的索引。

例如:

{
"name":"John",
"dob":"18/12/1989",
"country":"India",
...
}
{
"name":"David",
"dob":"26/19/1981",
"country":"China",
...
}

如果要查询姓名和国家/地区,请添加以下索引

db.myColl.createIndex({name:1, country:1})