Crear colección
Busquemos las bases de datos ya existentes en nuestro MongoDB primero. Para esto, vamos a abrir el shell MongoDB y ejecutar su instrucción "Show DBS" en el área de consulta según lo dispuesto. La salida para esta instrucción muestra 3 bases de datos incorporadas con diferentes tamaños mientras trabajamos en una base de datos ficticia "prueba".
Prueba> Mostrar dbsUsando la instrucción "Usar" junto con el nombre de la base de datos "Prueba", puede cambiar a cualquier base de datos como lo hemos hecho a continuación. La salida muestra que ya estamos utilizando la base de datos "Test".
Prueba> Usar pruebaMuestremos todas las colecciones disponibles de una base de datos de "prueba" a través de la consulta "Show Collections". El detalle de salida no muestra nada ya que no tenemos colección en este momento.
prueba> mostrar colecciones;Estamos creando una nueva colección llamada "Prueba" en la base de datos "Prueba" que se utilizará más. Para esto, hemos probado la consulta "DB" con la función "CreateCollection" de MongoDB. El estado de salida "OK: 1" muestra que la colección se crea con éxito.
Prueba> DB.createCollection ("prueba")Ejemplo # 01:
Es hora de comenzar con nuestro primer ejemplo agregando algunos registros a la colección de "prueba" que acabamos de crear. Para hacerlo, vamos a usar la función "insertar" de MongoDB en la misma consulta "DB" junto con el nombre de una colección "Prueba". El registro que hemos agregado contiene 3 campos en total. Dos de los campos están en forma de matriz I.E "PersonalDetails" y "AcademicRecord" contienen subcampos. El uso de soportes rizados muestra el número total de registros en una colección y el número total de campos dentro de un campo específico. Los registros se han agregado perfectamente.
Prueba> DB.Prueba.insertar (nombre: "tina", personalDetails: [edad: 44, correo electrónico: "[email protected] "],Para que se muestren todos los registros en el shell MongoDB, utilizaremos la función find () dentro de la misma instrucción después del nombre de la colección que también sigue la función foreach (). La función foreach () imprime los registros en formato JSON como se muestra a continuación.
Prueba> DB.Prueba.encontrar().foreach (printjson)Es hora de usar el operador "tamaño" para mostrar solo el registro con un número específico de campos en él. Por lo tanto, lo utilizamos en la función find () para obtener el registro donde el campo PersonalDetails tiene 2 registros de campo separados, cada registro dentro de los soportes . La salida no muestra nada porque ningún registro tiene 2 campos dentro del campo PERSONALDETAILS.
Prueba> DB.Prueba.find (personalDetails: $ size: 2)Al establecer el valor del operador "tamaño" en 1 y ejecutar la instrucción actualizada, tenemos todo el registro con sus campos anidados que se muestran en nuestra pantalla de shell MongoDB como se muestra a continuación. La razón detrás de esta pantalla es clara: PersonalDetails tiene 1 registro según los soportes .
Prueba> DB.Prueba.find (personalDetails: $ size: 1)Ejemplo # 02:
Agregamos otro registro del mismo formato en la colección "Prueba" para ver si el operador de tamaño funciona en múltiples registros o no. Se esperaba que la misma consulta de inserción agregara registros para la persona "Beba". Aunque hemos agregado más de un campo dentro de la matriz personal de colas y académicos académicos, agregar estos campos dentro de un par de soportes rizados los considera como un registro.
Prueba> DB.Prueba.insertar (nombre: "Beba", personalDetails: [edad: 44, correo electrónico: "[email protected] ", City:" California "], AcademicRecord: [Calificación:" MS ", CGPA: 3.9])Después de agregar el segundo registro, probamos la misma consulta para mostrar los registros que tenemos en la colección "Test". Ambos registros se mostraron en el formato estándar de matrices en MongoDB.
Prueba> DB.Prueba.encontrar().bonito()Ejecutemos la consulta de la función "Buscar" para mostrar los registros de una colección de pruebas mientras utilizamos el valor del operador "$ Tamaño" establecido en "3" que se ha aplicado al campo PERSONALSDETAILS. Como el campo de las colas personales no contiene más de 1 campo por ahora, por lo tanto, la salida es nula.
Prueba> DB.Prueba.find (personalDetails: $ size: 3).bonito()Ahora, actualizar el valor del operador "$ set" a 1 como se demuestra en la consulta a continuación. El valor establecido "1" demuestra que el único registro se mostrará en la pantalla de la consola donde el campo "Peronaldetails" tiene un solo registro en él. Como ambos registros principales que hemos agregado, mantenga campos individuales dentro del campo de las declive personal.mi. , ambos registros se muestran.
Prueba> DB.Prueba.find (personalDetails: $ size: 1).bonito()Ejemplo # 03:
Insertemos un nuevo registro en la colección "Prueba" a través de la función "Insertar". Esta vez, elegimos agregar 3 campos dentro del campo PERSONALSDETAILS de esta colección, mientras que el campo "Academicrecord" contiene 2 registros dentro de él. Aplicaremos el operador de "tamaño".
Prueba> DB.Prueba.insertar (nombre: "Paul", personalDetails: [edad: 43, correo electrónico: "[email protected] ", City:" Texas "], AcademicRecord: [Calificación:" PhD ", CGPA: 4])Ahora que hemos agregado un registro anidado en la colección "Prueba", lo mostraremos en la pantalla de la consola utilizando la instrucción de función find (). Para mostrar un registro específico, debemos mencionar el nombre de cualquier campo seguido de su valor dentro de un registro específico i.mi., Para mostrar el registro donde el campo "Nombre" tiene su valor "Paul". Solo se mostró el último registro agregado.
Prueba> DB.Prueba.encontrar (nombre: "Paul")Vamos a sumergirnos en el ejemplo de la consulta para mostrar los registros de una colección "prueba" para mostrar solo el registro con su tamaño de campo de cola personal igual a 3 i.mi., tener 3 campos dentro de él. Para esto, intente la misma función Find () seguida del nombre de campo "PersonalDetails", "$ size" operador y la función bonito () para mostrar la salida en una matriz. El último registro que acabamos de agregar se ha mostrado en la consola, ya que su matriz de "cola personal" contiene 3 registros de campo en ella.
Prueba> DB.Prueba.find (personalDetails: $ size: 3).bonito()Conclusión
Después de pasar por esta guía junto con tres de los ejemplos de código mencionados, podrá buscar el campo de matriz específico desde un registro de datos específico que contiene solo el número establecido de elementos a través del operador de tamaño de MongoDB. Hemos discutido cómo se puede utilizar una matriz de campo múltiple en el registro para que el operador de tamaño funcione utilizando la instrucción de función find (). En estas ilustraciones, el campo de tamaño funciona para que se muestren todos esos registros que tienen un campo específico con un número específico de registros en él.