Отправка агрегата MongoDB с диапазоном дат из переполнения стека

Я пытаюсь отправить агрегацию mongodb из моего приложения Laravel, которая агрегирует только данные в диапазоне дат установки. Приложение имеет Выбор диапазона дат, который возвращает fromDate и toDate, которые я конвертирую в формат ISODate и затем передаю переменные в конвейер агрегации, как показано ниже:

private function getMongoData($fromDate = null, $toDate = null){

$collection = (new Client())->database->collection;

$fromDate = "ISODate('".$fromDate."')";
$toDate = "ISODate('".$toDate."')";$pipeline = [
[
'$match' => [
'event_date' => ['$gt' => $fromDate, '$lt' => $toDate],
],
],
];

$result = $collection->aggregate($pipeline)->toArray();

Выше приведен только этап сопоставления агрегации, поскольку без него остальная часть агрегации работает нормально. С этим диапазоном дат возвращает пустой массив

Это то, что мое приложение отправляет в Монго:

event_date: {$gt: "ISODate('2017-01-10T00:00:00+01:00')", $lt: "ISODate('2018-01-10T23:59:59+01:00')"}

Я довольно новичок в php и mongo, и эта борьба вызывает у меня серьезные головные боли, поэтому я буду признателен за любые советы по этому вопросу.

1

Решение

Задача ещё не решена.

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

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

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