(mongodb >=1.0.0)
MongoDB\Driver\Manager::executeQuery — Executa uma consulta ao banco de dados
$namespace, MongoDB\Driver\Query $query, ?array $options = null): MongoDB\Driver\Cursor
   Seleciona um servidor de acordo com a opção "readPreference"
   e executa a consulta nesse servidor.
  
   Os valores padrão para a opção "readPreference" e para a opção
   "readConcern" da consulta serão inferidos de uma transação
   ativa (indicada pela opção "session"), seguidos
   pelo URI de conexão.
  
namespace (string)
      Um namespace totalmente qualificado (por exemplo, "nomeDoBancoDados.nomeDaColecao").
     
query (MongoDB\Driver\Query)A consulta a ser executada.
options
| Opção | Tipo | Descrição | 
|---|---|---|
| readPreference | MongoDB\Driver\ReadPreference | Uma preferência de leitura a ser usada para selecionar um servidor para a operação. | 
| session | MongoDB\Driver\Session | Uma sessão para associar à operação. | 
Retorna MongoDB\Driver\Cursor em caso de sucesso.
| Versão | Descrição | 
|---|---|
| PECL mongodb 2.0.0 | O parâmetro optionsnão aceita mais uma instância
        de MongoDB\Driver\ReadPreference. | 
| PECL mongodb 1.21.0 | Passar um objeto MongoDB\Driver\ReadPreference como optionsfoi descontinuado e será removido na versão 2.0. | 
| PECL mongodb 1.4.0 | O terceiro parâmetro agora é um array options.
        Para compatibilidade com versões anteriores, este parâmetro ainda aceitará um
        objeto MongoDB\Driver\ReadPreference. | 
Exemplo #1 Exemplo de MongoDB\Driver\Manager::executeQuery()
<?php
$manager = new MongoDB\Driver\Manager("mongodb://localhost:27017");
$bulk = new MongoDB\Driver\BulkWrite;
$bulk->insert(['x' => 1]);
$bulk->insert(['x' => 2]);
$bulk->insert(['x' => 3]);
$manager->executeBulkWrite('db.collection', $bulk);
$filter = ['x' => ['$gt' => 1]];
$options = [
    'projection' => ['_id' => 0],
    'sort' => ['x' => -1],
];
$query = new MongoDB\Driver\Query($filter, $options);
$cursor = $manager->executeQuery('db.collection', $query);
foreach ($cursor as $document) {
    var_dump($document);
}
?>O exemplo acima produzirá:
object(stdClass)#6 (1) {
  ["x"]=>
  int(3)
}
object(stdClass)#7 (1) {
  ["x"]=>
  int(2)
}
Exemplo #2 Limitando o tempo de execução de uma consulta
    A opção "maxTimeMS"
    da classeMongoDB\Driver\Query pode ser usada para limitar o
    tempo de execução de uma consulta. Observe que esse limite de tempo é aplicado no
    lado do servidor e não leva em consideração a latência da rede. Consulte
    » Encerrar Operações em Execução
    no manual do MongoDB para obter mais informações.
   
<?php
$manager = new MongoDB\Driver\Manager('mongodb://localhost:27017');
$filter = ['x' => ['$gt' => 1]];
$options = [
    'maxTimeMS' => 1000,
];
$query = new MongoDB\Driver\Query($filter, $options);
$cursor = $manager->executeQuery('db.collection', $query);
foreach ($cursor as $document) {
    var_dump($document);
}
?>Se a consulta não for concluída após um segundo de tempo de execução no servidor, uma MongoDB\Driver\Exception\ExecutionTimeoutException será lançada.
