Mongoose查询非常慢(基本上永远不会返回)但在mongo shell中工作

时间:2017-06-21 18:18:33

标签: node.js mongodb mongoose

这是由mongoose构建的查询

myCollection.find({ recipient: 'thisIsALongString' }, { sort: { date: -1 },   limit: 1000, skip: 90000, fields: {} })

当我从我的节点应用程序运行它时,它基本上永远不会解决。我等了一个小时。

相同的查询在某些集合或此集合的不同字段上执行正常。例如,这会以秒为单位返回:

myCollection.find({ sender: 'thisIsALongString' }, { sort: { date: -1 },   limit: 1000, skip: 90000, fields: {} })

在mongo shell中,看起来相同的查询会在几秒钟内快速执行:

db.myCollection.find({"recipient":"thisIsALongString"}).limit(5000).skip(90000).sort({"date": -1}).toArray()

到底是怎么回事?

0 个答案:

没有答案