PHP MongoDB получает данные из диапазона дат, используя dateFromString - PullRequest
0 голосов
/ 19 февраля 2020

У меня есть данные, хранящиеся в следующем формате в MongoDB:

[
  {
    meta: {
       id: 1
    },
    data: {
       date: "03/01/2020"
    }
  }
],
[
  {
    meta: {
      id: 1
    },
    data: {
      date: "12/19/2019"
    }
  }
]

И я хочу использовать PHP, чтобы получить все записи, которые больше или равны текущей дате и меньше или равна текущей дате плюс 6 месяцев.

Для этого мой запрос выглядит следующим образом:

$query = [ 
            'meta.id' => 1,
            '$expr' => [
                '$and' => [
                    [
                        '$gte' => 
                        [ 
                            ['$dateFromString' => ['dateString' => '$data.date']],
                            time()
                        ]
                    ],
                    [
                        '$lte' => 
                        [ 
                            ['$dateFromString' => ['dateString' => '$data.date']],
                            strtotime('+6 months')
                        ]
                    ]
                ]
            ]
        ];

С этим запросом я должен получить первую запись с датой «03/01/2020», однако я не получаю никаких результатов.

Я также пытался использовать 'format' в dateString, но пока не поддерживается, так как он дает мне ошибка.

Как мне заставить этот запрос работать правильно?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...