У меня есть один вопрос о запросе временного диапазона.
Вот мой код:
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?
Вы должны использовать Расширенный JSON:
MGPipeline->Match()->Doc->AsJSON="{DayTime:{$gt:{\"$date\":\"2000-11-02T17:04:11.102Z\"}}}";
Других решений пока нет …