(mongodb >=1.0.0)
MongoDB\Driver\Query::__construct — Créer une nouvelle requête
Construit un nouvel objet MongoDB\Driver\Query, qui est un objet de valeur immuable qui représente une requête de base de données. La requête peut ensuite être exécutée avec MongoDB\Driver\Manager::executeQuery().
filter
(array|object)L'» attribut de la requête. Un attribut vide va faire correspondre tous les documents de la collection.
Note: Lors de l'évaluation des critères de requête, MongoDB compare les type et les valeurs en fonction de leur propre » règles de comparaison pour les types BSON, qui diffère des règles de comparaison et de manipulation des type de PHP. Lors de la correspondance d'un type BSON spcécial, les critères de requête doivent utiliser la classe BSON (ex. : utiliser MongoDB\BSON\ObjectId pour correspondre à un » ObjectId).
queryOptions
Option | Type | Description |
---|---|---|
allowDiskUse | bool |
Autorise MongoDB à utiliser des fichiers temporaires sur le disque pour stocker des données dépassant la limite de mémoire système de 100 mégaoctets lors du traitement d'une opération de tri bloquante. |
allowPartialResults | bool |
Pour les requêtes sur une collection fragmentée, retourne des résultats partiels du mongos si certains fragments ne sont pas disponibles au lieu de générer une erreur.
Retombe sur l'option dépréciée |
awaitData | bool |
Utiliser en conjonction avec l'option "tailable" pour
bloquer temporairement une opération getMore sur le curseur si à la fin
des données plutôt que de ne pas retourner de données. Après une période
d'attente, la requête se termine normalement.
|
batchSize | int |
Le nombre de documents à retourner dans le premier lot. Par défaut à 101. Une taille de lot de 0 signifie que le curseur sera établi, mais aucun document ne sera retourné dans le premier lot. Dans les versions de MongoDB antérieures à 3.2, où les requêtes utilisent le protocole de filaire hérité OP_QUERY, une taille de lot de 1 fermera le curseur indépendamment du nombre de documents. |
collation | array|object |
» Collation permet aux utilisateurs de spécifier des règles spécifiques au langage pour la comparaison des chaînes, par exemple, des règles pour les majuscules ou les accents. Lors de la spécification d'une collation, le champ Si la collation n'est pas spécifiée mais que la collection a une collation par défaut, l'opération utilisera la collation spécifiée pour la collection. Si aucune collation n'est spécifiée pour la collection ou pour l'opération, MongoDB utilisera le binaire simple de comparaison utilisé dans les versions précédentes pour les comparaisons des chaînes. Cette option est disponible en MongoDB 3.4+ et une exception sera émise au moment de l'exécution si elle est spécifiée dans une version antérieure. |
comment | mixed |
Un commentaire arbitraire pour aider à tracer l'opération à travers le profil de la base de données, la sortie currentOp et les journaux. Le commentaire peut être n'importe quel type BSON valide pour MongoDB 4.4+. Les versions de serveur antérieures ne prennent en charge que les valeurs de chaîne.
Retombe sur l'option dépréciée |
exhaust | bool |
Le flux de données en aval à pleine puissance dans plusieurs paquets "more", en supposant que le client lira entièrement toutes les données interrogées. Plus rapide lorsque vous tirez beaucoup de données et savez que vous voulez tout tirer. Remarque : le client n'est pas autorisé à ne pas lire toutes les données sauf s'il ferme la connexion. Cette option n'est pas prise en charge par la commande find dans MongoDB 3.2+ et forcera le pilote à utiliser la version du protocole de filaire hérité (c'est-à-dire OP_QUERY). |
explain | bool |
Si
Retombe sur l'option dépréciée Cette option n'est pas prise en charge par la commande find dans MongoDB 3.2+ et ne sera respectée que lors de l'utilisation de la version du protocole de filaire hérité (c'est-à-dire OP_QUERY). La commande » explain doit être utilisée sur MongoDB 3.0+. |
hint | string|array|object |
Spécification de l'index. Spécifiez soit le nom de l'index en tant que chaîne, soit le modèle de clé d'index. Si spécifié, le système de requête ne considérera que les plans utilisant l'index suggéré.
Retombe sur l'option dépréciée |
let | array|object |
Dictionnaire des noms et des valeurs des paramètres. Les valeurs doivent être des constantes ou des expressions fermées qui ne font pas référence aux champs du document. Les paramètres peuvent ensuite être accédés en tant que variables dans un contexte d'expression agrégée (par exemple Cette option est disponible dans MongoDB 5.0+ et entraînera une exception au moment de l'exécution si elle est spécifiée pour une version antérieure du serveur. |
limit | int |
Le nombre maximum de documents à retourner. Si non spécifié, alors par défaut à aucune limite. Une limite de 0 est équivalente à ne pas définir de limite.
Une limite négative sera interprétée comme une limite positive avec
l'option |
max | array|object |
La limite supérieure exclusive pour un index spécifique.
Retombe sur l'option dépréciée |
maxAwaitTimeMS | int |
Entier positif indiquant la limite de temps en millisecondes pour le
serveur pour bloquer une opération getMore si aucune donnée n'est
disponible. Cette option ne doit être utilisée qu'en conjonction avec
les options |
maxScan | int |
Avertissement
Cette option est dépréciée et ne doit pas être utilisée. Entier positif indiquant le nombre maximum de documents ou de clés d'index à analyser lors de l'exécution de la requête.
Retombe sur l'option dépréciée |
maxTimeMS | int |
La limite de temps cumulative en millisecondes pour le traitement des opérations sur le curseur. MongoDB arrête l'opération au premier point d'interruption le plus proche.
Retombe sur l'option dépréciée |
min | array|object |
La limite inférieure inclusive pour un index spécifique.
Retopmbe sur l'option dépréciée |
modifiers | array | » Opérateurs méta modifiant la sortie ou le comportement d'une requête. L'utilisation de ces opérateurs est dépréciée en faveur des options nommées. |
noCursorTimeout | bool | Empêche le serveur de mettre fin aux curseurs inactifs après une période d'inactivité (10 minutes). |
oplogReplay | bool |
Utilisation interne pour les ensembles de réplicas. Pour utiliser oplogReplay, vous devez inclure la condition suivante dans le filtre :
[ 'ts' => [ '$gte' => <timestamp> ] ]
|
projection | array|object |
Les » spécifications de projection pour déterminer quels champs inclure dans les documents retournés. Si vous utilisez la fonctionnalité ODM pour désérialiser les documents en tant que leur classe PHP d'origine, assurez-vous d'inclure le champ __pclass dans la projection. Cela est nécessaire pour que la désérialisation fonctionne et sans cela, l'extension renverra (par défaut) un objet stdClass à la place. |
readConcern | MongoDB\Driver\ReadConcern |
Un read concern à appliquer à l'opération. Par défaut, le read concern de l'URI de connexion MongoDB sera utilisé. Cette option est disponible dans MongoDB 3.2+ et entraînera une exception au moment de l'exécution si elle est spécifiée pour une version de serveur plus ancienne. |
returnKey | bool |
Si
Retombe sur l'option dépréciée |
showRecordId | bool |
Détermine si l'identifiant d'enregistrement doit être retourné pour
chaque document. Si
Retombe sur l'option dépréciée |
singleBatch | bool |
Détermine si le curseur doit être fermé après le premier lot.
Par défaut à false .
|
skip | int | Nombre de documents à sauter. Par défaut à 0. |
snapshot | bool |
Avertissement
Cette option est dépréciée et ne doit pas être utilisée. Empêche le curseur de retourner un document plus d'une fois en raison d'une opération d'écriture intermédiaire.
Retombe sur l'option dépréciée |
sort | array|object |
La spécification de tri pour l'ordonnancement des résultats.
Retombe sur l'option dépréciée |
tailable | bool | Renvoie un curseur tailable pour une collection capée. |
Version | Description |
---|---|
PECL mongodb 1.14.0 |
Ajout de l'option |
PECL mongodb 1.8.0 |
Ajout de l'option
L'option |
PECL mongodb 1.5.0 |
Les options |
PECL mongodb 1.3.0 |
Ajout de l'option |
PECL mongodb 1.2.0 |
Ajout des options
Renommer l'option
Supprime l'option |
PECL mongodb 1.1.0 | Ajout de l'option "readConcern" . |
Exemple #1 Exemple de MongoDB\Driver\Query::__construct()
<?php
/* Selectionne uniquement les documents écrits par "bjori" avec au moins 100 vues */
$filter = [
'author' => 'bjori',
'views' => [
'$gte' => 100,
],
];
$options = [
/* Retourne uniquement les champs suivants dans les documents correspondants */
'projection' => [
'title' => 1,
'article' => 1,
],
/* Retourne les documents dans l'ordre décroissant des vues */
'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);
}
?>