从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
答案 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})