残念ながら、参照ドキュメントのフィールドを直接クエリすることはできません。リレーショナル データベースで処理する方が適切です。MongoDB ではもちろん可能ですが、複数のクエリが必要です。最初にユーザーが属するネットワークを見つけ、次にネットワークの接続を見つける必要があります。
もちろん、ネットワーク識別子のリストを取得して接続クエリを作成するだけで十分です。これは、クエリ ビルダーを使用して簡単に実行できます。
$networkQb = $this->dm->getRepository(Network::class)->createQueryBuilder();
$networkQb->field('owner.$id')->equals($userId);
$networkQb->select('_id'); // Limit results to the ID of the network only
$networkQb->hydrate(false); // Don't return Network objects but only plain array
$networkResults = $networkQb->getQuery()->toArray();
$networkIdList = array_map(function($result) { return $result['_id']; }, $networkResults); // This converts array(array("_id" => "1234"), array("_id" => "5678")) to array("1234","5678")
// Then we'll make the actual query for the connections, based on the id list of the networks
$connectionQb = $this->dm->getRepository(Connection::class)->createQueryBuilder();
$connectionQb->field('network.$id')->in($networkIdList);
$connections = $connectionQb->getQuery()->toArray();
この種のクエリは、ユーザーごとに少数のネットワークしかない限り、比較的高速です。