Comment trouver par id dans mongodb

Comment trouver par id dans mongodb
MongoDB est un type de base de données NOSQL qui stocke les données dans les documents à mesure que la valeur clé paires. MongoDB prend en charge des commandes et des opérateurs de récupération robustes qui le rendent favorable parmi d'autres SGBD (systèmes de gestion de la base de données). La méthode la plus utilisée de MongoDB est trouver() Méthode qui aide à afficher les documents par toute commande ou requête qui lui est donnée. Comme d'autres systèmes de gestion de base de données, MongoDB crée un défaut identifiant unique (clé primaire dans la plupart des SGBD) pour chaque document.

Dans MongoDB, il est assez facile et efficace d'interagir avec les documents en utilisant des ID uniques. Le trouver() La méthode de MongoDB peut également être appliquée sur une collection MongoDB, en faisant référence au Identifiant des documents. L'ensemble du processus dans lequel les documents sont récupérés en utilisant des ID uniques dans le trouver() la méthode est nommée comme "Find () par id".

Dans cet article de la série MongoDB, nous fournirons un guide séquentiel pour appliquer la méthode find () pour récupérer des documents par ID.

Comment Find By ID Method fonctionne dans MongoDB

À MongoDB, le trouver () par id la méthode est une extension de trouver() Méthode et donc la syntaxe principale utilisée est la même que de trouver() méthode. La syntaxe à appliquer trouver () par id est donné ci-dessous:

db.Collection-Name (_ id:)

Dans MongoDB, il y a deux possibilités pour une pièce d'identité unique:

  • Si l'utilisateur définit la valeur d'ID lors de l'insertion des documents, il doit être unique.
  • Si l'utilisateur ne crée pas un identifiant unique, le MongoDB le génère automatiquement pour chaque document.

Comment utiliser la méthode de recherche par id dans mongodb

Avant de commencer l'application de trouver par id sur une collection; Les instances basées sur MongoDB suivantes seront utilisées dans ce tutoriel:

Nom de la base de données: "linuxhint«Le nom de la base de données est-il utilisé dans ce guide

Collection (s) -nom: Deux collections de «linuxhint«La base de données est utilisée qui sont nommées«distribution" et "employés".

Exemple 1: ID défini par l'utilisateur

Le "distribution»La collection sera utilisée dans cet exemple. Comme mentionné précédemment, lorsque l'utilisateur inserte chaque document avec «_identifiant”Field Il devient alors défini par l'utilisateur ID unique: par exemple, les documents insérés dans«distribution»La collection contient des ID définis par l'utilisateur (1,2,3… ) Comme on peut le voir dans la sortie ci-dessous:

> db.distribution.trouver().joli()

Vous pouvez récupérer n'importe quel document par référence identifiant Dans la méthode find (). Par exemple, la commande écrite ci-dessous aidera à récupérer un document qui a «_identifiant»Valeur 2:

> db.distribution.trouver (_ id: 2)

De même, vous pouvez obtenir n'importe quel autre document en utilisant le «trouver par id" méthode.

Utilisation des méthodes de recherche par ID et de tri sur les ID définis par l'utilisateur: De plus, avec l'aide du Find () Méthode et méthode tri (), Vous pouvez obtenir la sortie dans l'ordre croissant des ID.

La commande mentionnée ci-dessous montre l'application du «trouver" et "trier«Méthodes sur les identifiants de«distribution" collection.

Note: L'ordre de tri peut être «1" ou "-1,”Qui signifie ascendant ou descendant respectivement.

> db.distribution.trouver().Soi (_ id: -1)

Exemple 2: ID défini par le système

Ici, dans cet exemple, "employés«La collection est utilisée, et cette collection contient des documents définis par système«identifiant«Comme indiqué dans la sortie ci-dessous:

> db.employés.trouver().joli()

Vous verrez que le «_identifiant»Le champ contient un ID complexe et unique pour chaque document.

Ainsi, pour récupérer n'importe quel document, vous devez passer l'ID long comme indiqué dans la commande ci-dessous:

> db.employés.find (_ id: ObjectId ("616d7ca2cb1032dfa6345840"))

Utilisation des méthodes de recherche par ID et de tri sur les ID définis par le système: Comme sur l'ID défini par l'utilisateur; Vous pouvez utiliser la méthode de tri sur les ID définis par système pour obtenir la sortie dans l'ordre ascendant ou descendant:

La commande écrite ci-dessous triera les documents de «employés”Collection dans l'ordre descendant:

> db.employés.trouver().Soi (_ id: -1)

Note: La syntaxe est la même, mais le nom de la collection est différent, et la définition de l'ID est également différente.

Tout en traitant des identifiants définis par le système, si vous insérez par erreur la mauvaise longueur de «_identifiant,«Ensuite, vous pouvez rencontrer l'erreur suivante:

Ou si vous souhaitez récupérer le système défini "id"Par défini par l'utilisateur"identifiant", La commande sera exécutée mais n'affichera aucune sortie car les ID définis par l'utilisateur n'existent pas sur"employés" collection:

Conclusion

La méthode Find () de MongoDB contient une liste complète des opérateurs et des commandes pris en charge qui aident à récupérer des documents sous forme raffinée. L'ID unique peut être utilisé avec la méthode find () pour obtenir les documents en fonction de leurs ID. En suivant ce guide, les utilisateurs de Mongo peuvent obtenir les documents en utilisant l'ID de ces documents dans la méthode Find (). De plus, pour une meilleure compréhension, quelques exemples sont fournis qui montrent l'utilisation du «trouver () par id » Méthode dans MongoDB.