使用RestHeart查询MongoDB会返回与MongoDB客户端不同的结果

时间:2017-09-26 14:08:48

标签: mongodb restheart

我已配置RestHeart以从MongoDB获取数据。与使用客户端查询MongoDB(RoboMongo,MongoDB Compass ...)相比,大多数请求都能正常运行并返回相同的结果。但是有些请求如下所示,涉及过滤器的日期为字符串需要比MongoDB客户端更长的时间,Nginx在60s后关闭连接(与客户端的相同查询需要0.163s)

## 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日志文件显示除了这些请求之外执行的所有请求,因此我无法看到它们发生了什么。

有任何建议,以便发现此查询的问题是什么以及在哪里?提前谢谢。

1 个答案:

答案 0 :(得分:1)

Restheart也会按_id降序排序结果。

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