2017-09-26 55 views
0

我已配置RestHeart以从MongoDB获取数据。大部分请求都能很好地工作,并且返回与使用客户端查询MongoDB(RoboMongo,MongoDB Compass ...)相同的结果。但是像下面这样一些要求,涉及过滤器的日期作为字符串会比用MongoDB的客户不再和Nginx的关闭(与客户端相同的查询需要0.163s)使用RestHeart查询MongoDB会返回与MongoDB客户端不同的结果

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

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

收集具有索引60后的连接在使用客户端执行查询时使用的DATE_A属性。

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

任何建议,以发现此查询的问题和问题在哪里?提前致谢。

回答

1

重新启动还会按_id降序排序结果默认情况下。

尝试增加排序= {“日期”: - 1}或建立复合索引

+0

我有一个MongoDB的客户,我得到“DATE_A”改为“DATE_A”字段类型为Date类型,因此现在:ISODate(” 2017-02-21T05:00:00.000Z“)。我将尝试找到如何使用RestHeart按日期过滤。谢谢。 –