MongoDB est une base de données NoSQL open source qui offre une prise en charge hautes performances, une haute disponibilité et une évolutivité facile. Il travaille sur la notion de collections et de documents. Dans ce chapitre, nous verrons comment interroger des documents d'une collection dans MongoDB.
L'une des opérations les plus courantes que vous devrez effectuer sur une base de données MongoDB est l'interrogation de documents. L'interrogation est le processus de récupération de documents d'une collection. MongoDB fournit un certain nombre de méthodes pour accomplir cette tâche, dont la méthode findOne()
.
La méthode findOne()
est utilisée pour renvoyer un seul document répondant aux critères spécifiés. Si plusieurs documents correspondent aux critères, cette méthode renvoie le premier document selon l'ordre naturel, qui reflète l'ordre des documents sur le disque.
La syntaxe de base de la méthode findOne()
est la suivante :
Où :
db
est la base de données actuelle.collection
est la collection dans laquelle vous recherchez le document.query
est un document qui spécifie les conditions de recherche. Il s'agit d'un paramètre facultatif.projection
est un document qui spécifie les champs à retourner dans le document résultant. Il s'agit d'un paramètre facultatif.
Supposons que nous disposions de la collection de documents suivante :
Si nous voulons trouver le document dont le champ "nom" est "Maria", nous pouvons utiliser la méthode findOne()
comme suit :
Le résultat sera le premier document correspondant à la requête :
Maintenant, disons que nous souhaitons renvoyer uniquement le champ « profession » dans le document résultant. Nous pouvons le faire en spécifiant le champ "profession" dans le paramètre de projection :
Le résultat sera :
Notez que le champ "_id" est toujours renvoyé sauf si vous l'excluez explicitement.
La méthode findOne()
est extrêmement utile pour récupérer un seul document d'une collection. N'oubliez pas cependant qu'il renvoie le premier document correspondant à la requête. Si vous devez récupérer tous les documents correspondant à la requête, vous devez utiliser la méthode find()
.
En résumé, MongoDB propose une variété de méthodes pour interroger des documents, chacune avec ses propres utilisations et avantages. La méthode findOne()
n'est qu'une de ces méthodes, mais elle est l'une des plus couramment utilisées en raison de sa simplicité et de son efficacité.