这是由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()
到底是怎么回事?