我有一个这样的查询,我想按日期对我的结果进行排序。我在 DateTime 上有一个降序索引,在 UserId 上有一个升序索引,但是当我尝试按 DateTime 对我的结果进行排序时,它变得太慢了。
db.Users.aggregate([
{ "$match" : { "UserId" : { "$in" : [NUUID("1b029f8b-a17e-3172-9247-
9cddfaf9702b")] } } },
{ "$match" : { "DateTime" : { "$gte" : ISODate("2018-08-15T12:54:38Z"),
"$lte" : ISODate("2018-08-25T12:54:38Z") } } },
{ "$sort" : { "DateTime" : -1} }, { "$skip" : 0 }, { "$limit" : 20 }])
Run Code Online (Sandbox Code Playgroud)
当我删除排序部分时,它变得太快了。我尝试如下,它也太快了。
db.Users.aggregate([
{ "$match" : { "DateTime" : { "$gte" : ISODate("2018-08-15T12:54:38Z"),
"$lte" : ISODate("2018-08-25T12:54:38Z") } } },
{ "$match" : { "UserId" : …Run Code Online (Sandbox Code Playgroud)