RestHeart Date过滤器不使用索引

时间:2017-09-28 17:31:44

标签: mongodb date restheart

我已配置RestHeart以从MongoDB获取数据。与使用客户端查询MongoDB(RoboMongo,MongoDB Compass ...)相比,涉及String,Object,Number的请求运行良好并返回相同的结果。但是涉及Date数据类型的请求比MongoDB客户端需要更长的时间,并且Nginx在60s后关闭连接(与客户端的相同查询需要0.163s)

## Query in a MongoDB client
db.getCollection('collection').find({"DATE_A_FMT": {'$gte':ISODate('2017-02-21T05:00:00.000Z')}})

## Request with RestHeart
https://IP/DB/collection/?filter={'DATE_A_FMT': {'$gte':{'$date':'2017-02-20T05:00:00.000Z'}}}

该集合具有DATE_A_FMT字段的索引,该字段在与客户端一起执行查询时使用。另外,我试图添加排序,但结果相同。

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

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

0 个答案:

没有答案