【发布时间】:2020-01-25 18:28:18
【问题描述】:
我正在使用 PHP MongoDB\Driver\Manager,我想通过创建 MongoDB\Driver\Query 进行查询。
所以我有以下收藏设计:
{
"_comment": "Board",
"_id": "3",
"player": "42",
"moves": [{
"_id": "1",
"piece": "b3rw4",
"from_pos": "E2",
"to_pos": "E4"
}]
}
我如何查询此集合以接收特定玩家的所有棋盘的所有移动都带有 min(id)?这意味着我首先要过滤所有板,只获取具有玩家 ID 的板。然后我想搜索所有这些棋盘的“moves”字段,我想要那个“moves”字段的 min(_id)。
我目前有这个查询:
$filter = ['player' => '93'];
$options = [
'projection' => ['_id' => 0,
'moves' => 1]
];
$query = new MongoDB\Driver\Query($filter, $options);
这会导致玩家 93 找到所有“移动”数组。
然后我怎样才能通过仅使用 min(_id) 获取移动来过滤所有这些“移动”字段?
【问题讨论】:
标签: php mongodb mongodb-query nosql