(mongodb >=1.0.0)
MongoDB\Driver\Query::__construct — Constrói uma nova consulta
Constrói um novo MongoDB\Driver\Query, que é um objeto de valor imutável que representa uma consulta ao banco de dados. A consulta pode então ser executada com MongoDB\Driver\Manager::executeQuery().
filter
(array|object)O » predicado de consulta. Um predicado vazio corresponderá a todos os documentos da coleção.
Nota: Ao avaliar os critérios de consulta, o MongoDB compara os tipos e valores de acordo com suas próprias » regras de comparação para tipos BSON, que diferem das regras de comparação e do malabarismo de tipos do PHP. Ao corresponder a um tipo especial de BSON, os critérios de consulta devem usar a respectiva classe BSON (por exemplo, use MongoDB\BSON\ObjectId para corresponder a um » ObjectId).
queryOptions
Opção | Tipo | Descrição |
---|---|---|
allowDiskUse | bool |
Permite que o MongoDB use arquivos de disco temporários para armazenar dados que excedem o limite de memória do sistema de 100 megabytes durante o processamento de uma operação bloqueante de classificação. |
allowPartialResults | bool |
Para consultas em uma coleção de fragmentos, retorna resultados parciais do "mongos" se alguns fragmentos não estiverem disponíveis, em vez de lançar um erro.
Se não especificada, a opção obsoleta |
awaitData | bool |
Use em conjunto com a opção "tailable" para
bloquear temporariamente uma operação getMore no cursor se estiver no final dos
dados, em vez de não retornar nenhum dado. Após um período de tempo limite, a consulta
retorna normalmente.
|
batchSize | int |
O número de documentos a serem devolvidos no primeiro lote. O padrão é 101. Um tamanho de lote 0 significa que o cursor será estabelecido, mas nenhum documento será retornado no primeiro lote. Nas versões do MongoDB anteriores à 3.2, onde as consultas usam o protocolo de ligação legado OP_QUERY, um tamanho de lote de 1 fechará o cursor, independentemente do número de documentos correspondidos. |
collation | array|object |
» Collation permite que os usuários especifiquem regras específicas do idioma para comparação de strings, como regras para maiúsculas e minúsculas e acentos. Ao especificar a collation, o campo Se a collation não for especificada, mas a coleção tiver uma collation padrão, a operação usará a collation especificada para a coleção. Se nenhuma collation for especificada para a coleção ou para a operação, o MongoDB usará a comparação binária simples usada em versões anteriores para comparações de strings. Esta opção está disponível no MongoDB 3.4+ e resultará em uma exceção em tempo de execução se for especificada para uma versão de servidor mais antiga. |
comment | mixed |
Um comentário arbitrário para ajudar a rastrear a operação por meio do perfilador do banco de dados, da saída currentOp e dos logs. O comentário pode ser qualquer tipo BSON válido para MongoDB 4.4+. Versões anteriores do servidor suportam apenas valores de string.
Se não especificada, o modificador obsoleto |
exhaust | bool |
Transmite os dados a todo vapor em vários pacotes "more", supondo que o cliente lerá completamente todos os dados consultados. Mais rápido quando se está extraindo muitos dados e sabe-se que a intenção é extrair tudo. Nota: o cliente não tem permissão para não ler todos os dados, a menos que feche a conexão. Esta opção não é suportada pelo comando "find" no MongoDB 3.2+ e forçará o driver a usar a versão herdada do protocolo de ligação (ou seja, OP_QUERY). |
explain | bool |
Se
Se não especificada, o modificador obsoleto Esta opção não é suportada pelo comando "find" no MongoDB 3.2+ e só será respeitada ao usar a versão herdada do protocolo wire (ou seja, OP_QUERY). O comando » explain deve ser usado no MongoDB 3.0+. |
hint | string|array|object |
Especificação do índice. Especifique o nome do índice como uma string ou o padrão de chave do índice. Se especificado, o sistema de consulta considerará apenas os planos usando o índice sugerido.
Se não especificada, a opção obsoleta |
let | array|object |
Mapa de nomes e valores de parâmetros. Os valores devem ser expressões constantes ou fechadas que não fazem referência a campos do documento. Os parâmetros podem então ser acessados como variáveis em um contexto de expressão agregada (por exemplo, Esta opção está disponível no MongoDB 5.0+ e resultará em uma exceção em tempo de execução se for especificada para uma versão de servidor mais antiga. |
limit | int |
O número máximo de documentos a serem devolvidos. Se não for especificado, o padrão será sem limite. Um limite de 0 é equivalente a não definir limite.
Um limite negativo será interpretado como um limite positivo com a
opção |
max | array|object |
O limite superior exclusivo para um índice específico.
Se não especificada, o modificador obsoleto |
maxAwaitTimeMS | int |
Inteiro positivo que indica o limite de tempo em milissegundos para o
servidor bloquear uma operação "getMore" se nenhum dado estiver disponível. Esta
opção só deve ser usada em conjunto com as opções
|
maxScan | int |
Aviso
Esta opção está obsoleta e não deve ser usada. Inteiro positivo que indica o número máximo de documentos ou chaves de índice a serem verificados ao executar a consulta.
Se não especificada, o modificador obsoleto |
maxTimeMS | int |
O limite de tempo cumulativo em milissegundos para operações de processamento no cursor. O MongoDB aborta a operação o mais cedo possível após o ponto de interrupção.
Se não especificada, o modificador obsoleto |
min | array|object |
O limite inferior (inclusive) para um índice específico.
Se não especificada, o modificador obsoleto |
modifiers | array | » Metaoperadores que modificam a saída ou o comportamento de uma consulta. O uso desses operadores está preterido em favor de opções nomeadas. |
noCursorTimeout | bool | Impede que o servidor expire os cursores ociosos após um período de inatividade (10 minutos). |
oplogReplay | bool |
Uso interno para conjuntos de réplicas. Para usar o oplogReplay, é necessário incluir a seguinte condição no filtro:
[ 'ts' => [ '$gte' => <timestamp> ] ]
|
projection | array|object |
A » especificação de projeção para determinar quais campos devem ser incluídos nos documentos retornados. Se a funcionalidade ODM estiver sendo usada para desserializar documentos como sua classe PHP original, deve-se incluir o campo __pclass na projeção. Isso é necessário para que a desserialização funcione e, sem ela, a extensão retornará (por padrão) um objeto stdClass no lugar. |
readConcern | MongoDB\Driver\ReadConcern |
Uma preocupação de leitura a ser aplicada à operação. Por padrão, a preocupação de leitura do URI de conexão do MongoDB será usada. Esta opção está disponível no MongoDB 3.2+ e resultará em uma exceção no momento da execução se especificada para uma versão mais antiga do servidor. |
returnKey | bool |
Se
Se não especificada, o modificador obsoleto |
showRecordId | bool |
Determina se o identificador de registro para cada documento deve ser
retornado. Se
Se não especificada, o modificador obsoleto |
singleBatch | bool |
Determina se o cursor deve ser fechado após o primeiro lote.
O padrão é false .
|
skip | int | Número de documentos a serem ignorados. O padrão é 0. |
snapshot | bool |
Aviso
Esta opção está obsoleta e não deve ser usada. Impede que o cursor retorne um documento mais de uma vez devido a uma operação de gravação interveniente.
Se não especificada, o modificador obsoleto |
sort | array|object |
A especificação de classificação para a ordenação dos resultados.
Se não especificada, o modificador obsoleto |
tailable | bool | Retorna um cursor adaptável para uma coleção limitada. |
Versão | Descrição |
---|---|
PECL mongodb 1.14.0 |
Adicionada a opção |
PECL mongodb 1.8.0 |
Adicionada a opção
A opção |
PECL mongodb 1.5.0 |
As opções |
PECL mongodb 1.3.0 |
Adicionada a opção |
PECL mongodb 1.2.0 |
Adicionadas as opções
A opção
Removida a opção legada |
PECL mongodb 1.1.0 | Adicionada a opção "readConcern" . |
Exemplo #1 Exemplo de MongoDB\Driver\Query::__construct()
<?php
/* Seleciona apenas os documentos de autoria de "bjori" com pelo menos 100 visualizações */
$filter = [
'author' => 'bjori',
'views' => [
'$gte' => 100,
],
];
$options = [
/* Retorna somente os campos a seguir nos documentos correspondentes */
'projection' => [
'title' => 1,
'article' => 1,
],
/* Retorna os documentos na ordem descendente de visualizações */
'sort' => [
'views' => -1
],
];
$query = new MongoDB\Driver\Query($filter, $options);
$manager = new MongoDB\Driver\Manager('mongodb://localhost:27017');
$readPreference = new MongoDB\Driver\ReadPreference(MongoDB\Driver\ReadPreference::PRIMARY);
$cursor = $manager->executeQuery('databaseName.collectionName', $query, $readPreference);
foreach($cursor as $document) {
var_dump($document);
}
?>