У меня есть рабочий пример запроса SQL:SQL агрегация подзапроса аналогия
SELECT a.user_id, a.latitude, a.longitude, a.accuracy, a.heading, a.speed, a.created_at
FROM `location` a
INNER JOIN (
SELECT user_id, MAX(`created_at`) created_at
FROM location
WHERE created_at > :date
GROUP BY `user_id`
) b ON a.`user_id` = b.`user_id` AND a.`created_at` = b.`created_at`
выделяющие сегодняшние последнее место для каждого пользователя
Как я могу выполнить этот запрос в MongoDB?
Я получил первую часть этого (подзапрос) в PHP:
$mongodb->getCollection('location')->aggregate([
['$match' => ['created_at' => ['$gte' => $beginOfDay]]],
[
'$group' => [
'_id' => '$user_id',
'lastTime' => ['$max' => '$created_at']
]
]
]);
и would't хотите создать новые запросы ...
Может быть, в MongoDB это делается легко, чем в реляционную DB?
Что такое формат коллекции/форма и желаемый результат? – felipsmartins