0

我有一个关于时间范围查询的问题。

这是我的代码:

TMongoPipeline*  MGPipeline = new TMongoPipeline(FEnv);
MGPipeline->Match()->Doc->AsJSON="{DayTime:{$gt:ISODate(\"2000-11-02T17:04:11.102Z\")}}";                           ^^^^^^^^^                                                                                          

其中DayTime字段的数据类型是日期

编译是可以的,但它总是抛出一个异常,如下所示:

项目 TestC.cpp 引发异常类 EJSONReaderException,消息“无法读取无穷大值”路径“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 来做到这一点吗?

4

1 回答 1

1

您应该使用扩展 JSON

MGPipeline->Match()->Doc->AsJSON="{DayTime:{$gt:{\"$date\":\"2000-11-02T17:04:11.102Z\"}}}";
于 2015-12-08T06:18:26.673 回答