Я пишу запрос для поиска пользователей, созданных на определенную дату, например,
$date = '2018-05-02 15:46:41.000Z';
User::raw(function ($col) use($date) {
return $col->aggregate([
['$match' =>
'created_at' => ['$gte' => new \MongoDB\BSON\UTCDateTime(strtotime($date))]
]
]);
});
Приведенный пример данных, таких как
{
"_id" : ObjectId("5ae9dd61ef7a5754f159c656"),
"name" : "Effie Larkin",
"created_at" : ISODate("2018-05-02 15:46:41.000Z"),
}...
Ожидаемый результат должен быть
{
"users" : [
"_id" : {"$oid": "5ae9dd61ef7a5754f159c656"},
"name" "Effie Larkin",
"created_at" : "2018-05-02 15:46:41"
]
}...
Но я получаю пустой массив json []
. Я думаю, что проблема в функции UTCDateTime, но я не знаю, как передать ей dateTime. Я хочу пройти интервал времени, например, 1 неделю назад или вчера и т. Д. Если кто-то может мне помочь, мы будем очень признательны, спасибо
Обновление, пример ниже исправил это
$date = '2018-05-02';
User::raw(function ($col) use($date) {
return $col->aggregate([
['$match' =>
'created_at' => ['$gte' => new \MongoDB\BSON\UTCDateTime(strtotime($date)*1000)]
]
]);
});