Я использую PHP MongoDB \ Driver \ Manager и хочу сделать запрос, создав MongoDB \ Driver \ Query.
Итак, у меня есть следующий дизайн коллекции:
{
"_comment": "Board",
"_id": "3",
"player": "42",
"moves": [{
"_id": "1",
"piece": "b3rw4",
"from_pos": "E2",
"to_pos": "E4"
}]
}
Как я могу запросить эту коллекцию, чтобы получить для всех досок определенного c игрока все ходы с min (id)? Это означает, что я сначала хочу отфильтровать все доски, чтобы получить только доски с идентификатором игрока. Затем я хочу найти все поля "ходов" на этой доске, где я хочу, чтобы мин (_id) этого поля "ходов".
В настоящее время у меня есть этот запрос:
$filter = ['player' => '93'];
$options = [
'projection' => ['_id' => 0,
'moves' => 1]
];
$query = new MongoDB\Driver\Query($filter, $options);
Это приводит к нахождению всех массивов "ходов" игроком 93.
Как я могу отфильтровать все эти поля "ходов", получая только ходы с min (_id)?