Использование Firedac для запроса временного диапазона MongoDB

У меня есть один вопрос о запросе временного диапазона.

Вот мой код:

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

где DayTime Тип данных поля Дата

Компиляция в порядке, но она всегда выдает исключение следующим образом:

Project 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?

0

Решение

Вы должны использовать Расширенный JSON:

MGPipeline->Match()->Doc->AsJSON="{DayTime:{$gt:{\"$date\":\"2000-11-02T17:04:11.102Z\"}}}";
1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]