0

我已将 RestHeart 配置为从 MongoDB 获取数据。与我使用客户端查询 MongoDB(RoboMongo、MongoDB Compass...)相比,大多数请求运行良好并返回相同的结果。然而,一些像下面这样的请求涉及将日期作为字符串的过滤器比 MongoDB 客户端花费更长的时间,并且 Nginx 在 60 秒后关闭连接(与客户端的相同查询需要 0.163 秒)

## Request 
https://IP/DB/Collection/?filter={'DATE_A':'2017-08-24'}

## Query
db.getCollection('collection').find({'DATE_A':'2017-08-24'}) 

该集合具有 DATE_A 属性的索引,该属性在使用客户端执行查询时使用。

RestHeart 的配置与文档中的默认配置相同,只是与 MongoDB 的连接不同。在这种情况下,我使用具有 3 个实例(1 个主实例和 2 个从属实例)的集群。此外,RestHeart 日志文件显示了除这些请求之外的所有已执行请求,因此我看不到它们发生了什么。

有什么建议可以发现这个查询的问题和问题在哪里?提前致谢。

4

1 回答 1

1

Restheart 还默认按 _id 降序对结果进行排序。

尝试添加 sort={'date':-1} 或构建复合索引

于 2017-09-27T06:28:09.277 回答