У меня есть данные, хранящиеся в следующем формате в 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
, но пока не поддерживается, так как он дает мне ошибка.
Как мне заставить этот запрос работать правильно?