MongoDB\Driver\Manager: : executeQuery
(mongodb >=1.0.0)
MongoDB\Driver\Manager::executeQuery — Execute a database query
Description
$namespace
, MongoDB\Driver\Query $query
[, array $options
= array()
] ) : MongoDB\Driver\CursorSelects a server according to the "readPreference" option and executes the query on that server. By default, the read preference from the MongoDB Connection URI will be used.
Liste de paramètres
-
namespace
(string) -
Un espace de noms totalement qualifié (e.g. "databaseName.collectionName")
-
query
(MongoDB\Driver\Query) -
La requête à exécuter.
-
options
-
options Option Type Description readPreference MongoDB\Driver\ReadPreference Une préférence de lecture à utiliser pour sélectionner un serveur pour l'opération.
session MongoDB\Driver\Session Une session à associer à l'opération.
Erreurs / Exceptions
- Lance une exception MongoDB\Driver\AuthenticationException si une identification est nécessaire mais qu'elle échoue
- Lance une exception MongoDB\Driver\ConnectionException si la connexion au serveur échoue pour une autre raison qu'en raison d'un problème d'identification
- Throws MongoDB\Driver\Exception\RuntimeException on other errors (e.g. invalid query operators).
Historique
Version | Description |
---|---|
1.4.0 |
The third parameter is now an options array.
For backwards compatibility, this paramater will still accept a
MongoDB\Driver\ReadPreference object.
|
Exemples
Exemple #1 MongoDB\Driver\Manager::executeQuery() example
<?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);
}
?>
L'exemple ci-dessus va afficher :
object(stdClass)#6 (1) { ["x"]=> int(3) } object(stdClass)#7 (1) { ["x"]=> int(2) }
Exemple #2 Limiting execution time for a query
The "maxTimeMS" MongoDB\Driver\Query option may be used to limit the execution time of a query. Note that this time limit is enforced on the server side and does not take network latency into account. See » Terminate Running Operations in the MongoDB manual for more information.
<?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);
}
?>
If the query fails to complete after one second of execution time on the server, a MongoDB\Driver\Exception\ExecutionTimeoutException will be thrown.
Voir aussi
- MongoDB\Driver\Cursor
- MongoDB\Driver\Query
- MongoDB\Driver\ReadPreference
- MongoDB\Driver\Server::executeQuery() - Exécute une requête de base de données sur ce serveur
Document créé le 30/01/2003, dernière modification le 26/10/2018
Source du document imprimé : https://www.gaudry.be/php-rf-mongodb-driver-manager.executequery.html
L'infobrol est un site personnel dont le contenu n'engage que moi. Le texte est mis à disposition sous licence CreativeCommons(BY-NC-SA). Plus d'info sur les conditions d'utilisation et sur l'auteur.
Références
Ces références et liens indiquent des documents consultés lors de la rédaction de cette page, ou qui peuvent apporter un complément d'information, mais les auteurs de ces sources ne peuvent être tenus responsables du contenu de cette page.
L'auteur de ce site est seul responsable de la manière dont sont présentés ici les différents concepts, et des libertés qui sont prises avec les ouvrages de référence. N'oubliez pas que vous devez croiser les informations de sources multiples afin de diminuer les risques d'erreurs.