MongoDB Document de requête : db.collection.find() avec exemple
⚡ Résumé intelligent
MongoDB Les opérations de requête de documents permettent de récupérer des enregistrements d'une collection à l'aide de la fonction `db.collection.find()`. Par défaut, cette méthode renvoie tous les documents, accepte des critères de filtrage tels que la correspondance de champs et l'opérateur `$gt`, et met en forme les résultats avec la commande `forEach(printjson)`.

La méthode de récupération ou d'obtention de données à partir d'un MongoDB la base de données est réalisée en utilisant MongoDB requêtes. Lors de l'exécution d'une opération de requête, on peut également utiliser des critères ou des conditions qui peuvent être utilisés pour récupérer des données spécifiques de la base de données.
MongoDB fournit une fonction appelée db.collection.find() qui est utilisé pour récupérer des documents à partir d'un MongoDB base de données.
Au cours de ce MongoDB Dans le didacticiel de requête, vous verrez comment cette fonction est utilisée de différentes manières pour atteindre l'objectif de récupération de documents.
Que représente db.collection.find() dans MongoDB?
La méthode db.collection.find() est le principal moyen de lire des documents à partir d'une collection. MongoDB La fonction `collection` renvoie tous les documents de la collection lorsqu'elle est appelée sans argument. En revanche, si vous lui fournissez un objet de requête, elle ne renvoie que les documents correspondant aux critères spécifiés, vous permettant ainsi de récupérer précisément les données dont vous avez besoin.
La méthode renvoie un curseur, c'est-à-dire un pointeur vers l'ensemble de résultats plutôt que vers les documents eux-mêmes. On parcourt généralement le curseur pour afficher les résultats, souvent avec `forEach(printjson)` pour afficher chaque document au format JSON. Si vous n'avez besoin que d'un seul enregistrement, MongoDB Fournit également la fonction findOne(), qui renvoie le premier document correspondant au lieu d'un curseur. Ensemble, find() et findOne() couvrent la plupart des opérations de lecture dans un MongoDB base de données, de la récupération de collections entières au filtrage par valeurs de champs spécifiques.
MongoDB Requête de base Operations
Les bases MongoDB Les opérateurs de requête couvrent les opérations simples telles que l'obtention de tous les documents dans un MongoDB collection. Regardons un exemple db.collection.find de la façon dont nous pouvons y parvenir.
Tout notre code sera exécuté dans le MongoDB Javascénario shell de commande. Considérons que nous avons une collection nommée « Employé » dans notre MongoDB base de données et nous exécutons la commande ci-dessous.

Code Explication:
- Employé est le nom de la collection dans le MongoDB base de données
- Le MongoDB find query est une fonction intégrée qui est utilisée pour récupérer les documents de la collection.
Si la commande est exécutée avec succès, la sortie suivante sera affichée pour le MongoDB trouver un exemple
Sortie :
La sortie montre tous les documents présents dans la collection.
Nous pouvons également ajouter des critères à nos requêtes afin de pouvoir récupérer des documents en fonction de certaines conditions.
MongoDB Exemple de requête – 1
Regardons quelques-uns MongoDB interrogez des exemples de la façon dont nous pouvons y parvenir.
db.Employee.find({EmployeeName : "Smith"}).forEach(printjson);
Code Explication:
- Ici, nous voulons rechercher un employé dont le nom est « Smith » dans la collection, nous saisissons donc les critères de filtre comme EmployeeName : « Smith »
Si la commande est exécutée avec succès, la sortie suivante sera affichée
Sortie :
Le résultat montre que seul le document contenant « Smith » comme nom de l'employé est renvoyé.
MongoDB Exemple de requête – 2
Maintenant dans ce MongoDB tutoriel sur les requêtes, jetons un coup d'œil à un autre exemple de code qui utilise le critère de recherche supérieur à. Lorsque ce critère est inclus, il recherche en fait les documents dans lesquels la valeur du champ est supérieure à la valeur spécifiée.
db.Employee.find({Employeeid : {$gt:2}}).forEach(printjson);
Code Explication:
- Ici, nous voulons rechercher tous les employés dont l'identifiant est supérieur à 2. Le $gt est appelé un opérateur de sélection de requête, et ce qui signifie simplement est d'utiliser l'expression supérieure à.
Si la MongoDB la commande select fields est exécutée avec succès, la sortie suivante s'affiche
Sortie :
Tous les documents dont l'identifiant d'employé est supérieur à 2 sont renvoyés.
MongoDB Question Operajeudi
MongoDB Filtre les documents à l'aide d'opérateurs de sélection de requête dans les critères de la fonction `find()`. Ces opérateurs permettent de faire correspondre des plages, des listes et des négations, et pas seulement des valeurs exactes. Le tableau ci-dessous répertorie les opérateurs les plus courants :
| Opérateur | Sens | Exemple |
|---|---|---|
| $gt | Supérieure à | {Employeeid: {$gt: 2}} |
| $ lt | Less que | {Employeeid: {$lt: 5}} |
| $ gte | Plus grand ou égal à | {âge: {$gte: 18}} |
| $ lte | Less supérieur ou égal à | {âge: {$lte: 60}} |
| $ ne | Pas égal à | {statut: {$ne: “actif”}} |
| $dans | Correspond à n'importe quelle valeur dans une liste | {dept: {$in: [“RH”,”IT”]}} |
Vous pouvez également combiner des conditions avec `$and` et `$or` pour construire des requêtes plus précises. Choisir le bon opérateur permet d'optimiser les requêtes et de ne renvoyer que les documents nécessaires à votre application.
Comment utiliser la projection avec find()
Par défaut, la fonction find() renvoie le document entier, y compris tous les champs. Souvent, seuls quelques champs sont nécessaires, comme un nom ou un identifiant. MongoDB vous permet de contrôler cela grâce à une projection, qui est un deuxième argument passé à find() et qui liste les champs à inclure ou à exclure.
Pour n'inclure que certains champs, définissez-les sur 1 dans l'objet de projection. La requête suivante renvoie uniquement le champ EmployeeName pour chaque document :
db.Employee.find({}, {EmployeeName: 1}).forEach(printjson);
MongoDB Renvoie toujours le champ _id, sauf si vous l'excluez explicitement. Pour le masquer, définissez _id sur 0 :
db.Employee.find({}, {EmployeeName: 1, _id: 0}).forEach(printjson);
Vous pouvez également exclure des champs au lieu de les inclure en leur attribuant la valeur 0. Par exemple, la requête ci-dessous renvoie tous les champs sauf Employeeid :
db.Employee.find({}, {Employeeid: 0}).forEach(printjson);
Il est important de noter que l'inclusion et l'exclusion ne peuvent être combinées dans une même projection, à l'exception du champ _id. L'utilisation de projections réduit la quantité de données transférées depuis le serveur, ce qui accélère les requêtes et facilite la lecture des réponses, notamment pour les documents volumineux.



