9.2 Interrogation de documents dans MongoDB : utilisation de la méthode find()
La méthode find()
est l'un des outils les plus puissants et les plus utilisés dans MongoDB pour interroger les documents d'une collection. Il est utilisé pour extraire ou « trouver » des documents dans une collection qui correspondent à certains critères. Cette méthode renvoie un curseur sur les résultats qui peut être itéré pour accéder aux documents.
Pour utiliser la méthode find()
, vous devez spécifier la condition de recherche en tant que document. La condition de recherche peut inclure des opérateurs de comparaison et logiques. De plus, vous pouvez spécifier quel champ apparaîtra dans les documents résultants à l'aide du paramètre de projection.
Utilisation de base de la méthode find()
L'utilisation la plus basique de la méthode find()
est de rechercher tous les documents d'une collection. Pour ce faire, vous pouvez utiliser la méthode find()
sans aucun argument.
db.collection.find()
Cette commande renverra un curseur pour tous les documents de la collection.
Consultation de documents avec conditions
Vous pouvez spécifier une condition de recherche pour la méthode find()
afin de renvoyer uniquement les documents qui correspondent à la condition. Par exemple, la commande suivante renvoie tous les documents dont le champ « nom » est égal à « John ».
db.collection.find({ "nom" : "Jean" })
Cette commande renverra un curseur vers les documents dont le champ "nom" est "John".
Utilisation des opérateurs de comparaison
MongoDB prend en charge plusieurs opérateurs de comparaison tels que $gt
(supérieur à), $gte
(supérieur ou égal), $lt
( inférieur à), $lte
(inférieur ou égal), $ne
(différent) et $eq
(égal). Vous pouvez utiliser ces opérateurs pour former des conditions de recherche plus complexes. Par exemple, la commande suivante renvoie tous les documents dont le champ « âge » est supérieur à 25.
db.collection.find({ "âge" : { $gt : 25 } })
Utilisation des opérateurs logiques
MongoDB prend en charge les opérateurs logiques tels que $or
, $and
, $not
et $nor
. Vous pouvez utiliser ces opérateurs pour combiner plusieurs conditions de recherche. Par exemple, la commande suivante renvoie tous les documents dont le champ « âge » est supérieur à 25 et le champ « nom » est « John ».
db.collection.find({ $and : [ { "age" : { $gt : 25 } }, { "name" : "John" } ] })
Projection sur le terrain
Vous pouvez utiliser le deuxième argument de la méthode find()
pour spécifier quels champs apparaîtront dans les documents résultants. Par exemple, la commande suivante renvoie tous les documents dont le champ « âge » est supérieur à 25, mais inclut uniquement le champ « nom » dans les documents résultants.
db.collection.find({ "âge" : { $gt : 25 } }, { "nom" : 1 })
En résumé, la méthode find()
est un outil essentiel pour interroger des documents dans MongoDB. Il vous permet de spécifier des conditions de recherche complexes et de personnaliser les champs qui apparaissent dans les documents résultants. Avec de la pratique, vous pouvez utiliser la méthode find()
pour extraire des informations utiles de vos collections MongoDB.