Cómo encontrar por ID en MongoDB

Cómo encontrar por ID en MongoDB
MongoDB es un tipo de base de datos NoSQL que almacena datos en documentos como pares de valor clave. MongoDB admite comandos y operadores de recuperación sólidos que lo hacen favorable entre otros DBM (sistemas de gestión de bases de datos). El método más utilizado de MongoDB es encontrar() método que ayuda a mostrar los documentos por cualquier orden o consulta que se le otorgue. Al igual que otros sistemas de gestión de bases de datos, MongoDB crea un valor predeterminado Identificación única (clave principal en la mayoría de los DBMS) para cada documento.

En MongoDB, es bastante fácil y efectivo interactuar con documentos utilizando IDS únicos. El encontrar() El método de MongoDB también se puede aplicar en una colección MongoDB, refiriéndose a la IDS de los documentos. Todo el proceso en el que se recuperan los documentos utilizando IDS únicos en el encontrar() El método se nombra como "Find () por ID".

En esta publicación de la serie MongoDB, proporcionaremos una guía secuencial para aplicar el método find () para recuperar documentos por identificación.

Cómo funciona el método Find por ID en MongoDB

En MongoDB, el find () por ID El método es una extensión de encontrar() método y, por lo tanto, la sintaxis primaria utilizada es la misma que encontrar() método. La sintaxis para aplicar find () por ID se da a continuación:

db.colección-name (_ id:)

En MongoDB, hay dos posibilidades para una identificación única:

  • Si el usuario define el valor de ID al insertar los documentos, entonces debe ser único.
  • Si el usuario no crea una ID única, el MongoDB lo genera automáticamente de manera única para cada documento.

Cómo usar el método Find By ID en MongoDB

Antes de comenzar la aplicación de encontrar por identificación en una colección; Las siguientes instancias basadas en MongoDB se utilizarán en este tutorial:

Nombre de la base de datos: "Linuxhint"¿El nombre de la base de datos utilizado en esta guía

Colección (s) -name: Dos colecciones de "Linuxhint"Se utilizan una base de datos que se nombra como"distribuciones" y "empleados".

Ejemplo 1: ID definida por el usuario

El "distribucionesLa colección se utilizará en este ejemplo. Como se mencionó anteriormente, cuando el usuario inserta cada documento con "_identificación"Campo entonces se convierte en ID únicos definidos por el usuario: por ejemplo, los documentos insertados en"distribuciones"La colección contiene ID definidas por el usuario (1,2,3 .. ) como se puede ver en la siguiente salida:

> DB.distribuciones.encontrar().bonito()

Puede recuperar cualquier documento por referencia es identificación En el método find (). Por ejemplo, el comando escrito a continuación ayudará a recuperar un documento que tenga "_identificación"Valor 2:

> DB.distribuciones.Buscar (_ id: 2)

Del mismo modo, puede obtener cualquier otro documento utilizando el "encontrar por identificación" método.

Uso de métodos Buscar por ID y clasificar en IDS definidos por el usuario: Además, con la ayuda del Método Find () y Método sort (), Puede obtener la salida en orden ascendente de IDS.

El comando mencionado a continuación muestra la aplicación del "encontrar" y "clasificar"Métodos en ID de"distribuciones" recopilación.

Nota: La orden de clasificación puede ser "1" o "-1,"Que significa ascender o descender respectivamente.

> DB.distribuciones.encontrar().sort (_ id: -1)

Ejemplo 2: ID definido del sistema

Aquí, en este ejemplo, "empleados"Se utiliza la colección, y esta colección contiene documentos que tienen el sistema definido"IDS"Como se muestra en la salida a continuación:

> DB.empleados.encontrar().bonito()

Verás que el "_identificación"El campo contiene una identificación compleja y única para cada documento.

Entonces, para recuperar cualquier documento, debe pasar la ID larga como se muestra en el comando a continuación:

> DB.empleados.Find (_ id: ObjectId ("616D7CA2CB1032DFA6345840"))

Uso de métodos Buscar por identificación y clasificar en IDS definidos por el sistema: Como en la identificación definida por el usuario; Puede usar el método de clasificación en IDS definidos por el sistema para obtener la salida en orden ascendente o descendente:

El comando escrito a continuación ordenará los documentos de "empleados"Colección en orden descendente:

> DB.empleados.encontrar().sort (_ id: -1)

Nota: La sintaxis es la misma, pero el nombre de la colección es diferente, y la definición de la identificación también es diferente.

Mientras se trata de identificaciones definidas por el sistema, si insertó por error la longitud incorrecta de "_identificación,"Entonces puede encontrar el siguiente error:

O si desea recuperar el sistema definido "identificación"Por definido por el usuario"identificación", El comando se ejecutará pero no mostrará ninguna salida porque las ID definidas por el usuario no existen en"empleados" recopilación:

Conclusión

El método find () de MongoDB contiene una extensa lista de operadores y comandos compatibles que ayudan a recuperar documentos en forma refinada. La identificación única se puede usar con el método find () para obtener los documentos basados ​​en sus IDS. Siguiendo esta guía, los usuarios de Mongo pueden obtener los documentos utilizando la identificación de esos documentos en el método find (). Además, para una mejor comprensión, se proporcionan algunos ejemplos que muestran el uso del "encontrar () por id " Método en MongoDB.