我有一个关于时间范围查询的问题。
这是我的代码:
TMongoPipeline* MGPipeline = new TMongoPipeline(FEnv);
MGPipeline->Match()->Doc->AsJSON="{DayTime:{$gt:ISODate(\"2000-11-02T17:04:11.102Z\")}}"; ^^^^^^^^^
其中DayTime
字段的数据类型为日期
编译没问题,但它总是抛出异常,如下所示:
项目TestC.cpp引发了异常类EJSONReaderException,其中包含消息'无法读取无穷大值' Path' DayTime',第1行,第9位'。
我还尝试了另一个代码:
TMongoPipeline* MGPipeline = new TMongoPipeline(FEnv);
MGPipeline->Match()->Doc->AsJSON="{DayTime:{$gt:new Date(2001,1,1)}}";
^^^^^^^^^
但它也会引发异常。
TestC.cpp引发异常类$ C0000094,消息'整数除以零在0x50096'
我的MongoDB版本是3.0。
现在我无法进行任何时间范围查询。
使用FireDac和Rad Studio XE10可以告诉我吗?
答案 0 :(得分:1)
您应该使用Extended JSON:
MGPipeline->Match()->Doc->AsJSON="{DayTime:{$gt:{\"$date\":\"2000-11-02T17:04:11.102Z\"}}}";