Prueba> Mostrar dbs
administrador 40.00 kib
Configuración 112.00 kib
Local 72.00 kib
Use la base de datos de "prueba" para comenzar a agregar algunos datos a una base de datos MongoDB, yo.mi. "Usar prueba".
Prueba> Usar prueba
ya en la prueba de DB
Ejemplo 1:
Aquí hay un ejemplo de usar el operador de mapas $ para cuadrar cada elemento de una matriz en una colección. Generamos una nueva colección llamada "Info" en la base de datos "Test" de MongoDB lanzando la función de createcollection de MongoDB. El método createCollection () devuelve un objeto con la propiedad "OK" y un valor de 1 que indica que la colección se crea correctamente.
Prueba> DB.CreateCollection ("Info")
OK: 1
Después de generar la colección, insertamos algunos registros de tipo matriz en ella. Por lo tanto, la función InsertMany se descarta aquí para agregar tres registros, cada uno que contiene el campo "ARR" de un tipo de matriz con algunos valores numéricos.
Prueba> DB.Información.insertMany ([id: 1, arr: [2, 4, 6], id: 2, arr: [3, 5, 7], id: 3, arr: []])
Reconocido: Verdadero,
insertedids:
'0': ObjectId ("63C4D968AC8011ECC27D7A35"),
'1': ObjectId ("63C4D968AC8011ECC27D7A36"),
'2': ObjectId ("63C4D968AC8011ECC27D7A37")
Después de la inserción exitosa de los registros en la colección "Info", puede echarle un vistazo utilizando la función "Buscar" como utilizamos en la siguiente consulta:
Prueba> DB.Información.encontrar()
[
_id: ObjectId ("63C4D968AC8011ECC27D7A35"), ID: 1, arr: [2, 4, 6],
_id: ObjectId ("63C4D968AC8011ECC27D7A36"), ID: 2, arr: [3, 5, 7],
_id: ObjectId ("63C4D968AC8011ECC27D7A37"), ID: 3, arr: []
]
En este ejemplo, el operador del mapa se usa para agregar cada elemento en la matriz "ARR" para el documento para los tres registros. La entrada para el operador del mapa se establece en "$ arr" que hace referencia a la matriz "arr" en los documentos de la colección "info". El parámetro "AS" se establece en "n" que se usa como marcador de posición para cada elemento en la matriz dentro de la función. El parámetro "in" contiene la función que, en este caso, es el operador $ add que actualiza cada elemento de una matriz "ARR" agregando 1. La salida de esta operación es una nueva matriz con el número actualizado de elementos, pero cada elemento es la suma del elemento original y "1" como se muestra en la siguiente salida:
Prueba> DB.Información.Aggregate ([$ Project: a: $ map: input: "$ arr", as: "n", in: $ add: ["$$ n", 1]]))
[
_id: ObjectId ("63C4D968AC8011ECC27D7A35"), A: [3, 5, 7],
_id: ObjectId ("63C4D968AC8011ECC27D7A36"), A: [4, 6, 8],
_id: ObjectId ("63C4D968AC8011ECC27D7A37"), A: []
]
Ejemplo 2:
Tengamos otro ejemplo de utilizar el operador de "mapa" de MongoDB. Comenzando con esta ilustración, debe crear una nueva colección llamada "Información" en su base de datos de prueba. El método createCollection () se utiliza para crear una nueva colección en la base de datos actual que es "prueba". Dado que ya lo creamos a través del método "CreateCollection" de la base de datos, omitimos ese paso aquí.
La siguiente consulta utiliza la interfaz de línea de comandos MongoDB (CLI) para insertar múltiples documentos en una colección llamada "Datos". Cada documento representa una ciudad y su distancia en millas a los otros lugares. El comando usa el método InsertMany () para insertar los tres documentos a la vez. Cada documento tiene un campo de "ciudad" con un valor de cadena y un campo de "distancia" con una variedad de números. El método InsertMany () devuelve un objeto con las propiedades "reconocidas" y "Insertedids" que confirma que la operación es exitosa y proporciona los objetos únicos asignados a cada documento insertado.
Prueba> DB.Datos.InsertMany (["Ciudad": "Newyork", "Distancia": [22.56, 66.7, 88.1],
... "Ciudad": "Londres", "Distancia": [77.76, 14.72, 11.56],
... "Ciudad": "Texas", "Distancia": [44.70, 64.99, 94.6]])
Reconocido: verdadero,
insertedids:
'0': ObjectId ("63C4E24CAC8011ECC27D7A38"),
'1': ObjectId ("63C4E24CAC8011ECC27D7A39"),
'2': ObjectId ("63C4E24CAC8011ECC27D7A3A")
Esta consulta se utiliza para recuperar todos los documentos de una colección llamada "Datos". El método find () se usa con una consulta vacía , lo que significa que devuelve todos los documentos en la colección. La salida es una variedad de documentos que coinciden con la consulta donde cada documento tiene un campo "_id" que es un objeto único asignado a él, un campo de "ciudad" con un valor de cadena y un campo de "distancia" con una variedad de números. Esta consulta muestra todos los documentos que se insertaron.
Prueba> DB.Datos.encontrar()
[
_id: ObjectId ("63C4E24CAC8011ECC27D7A38"), Ciudad: 'Newyork', Distancia: [22.56, 66.7, 88.1],
_id: ObjectId ("63C4E24CAC8011ECC27D7A39"), Ciudad: 'Londres', Distancia: [77.76, 14.72, 11.56],
_id: ObjectId ("63C4E24CAC8011ECC27D7A3A"), Ciudad: 'Texas', Distancia: [44.7, 64.99, 94.6]
]
La siguiente consulta utiliza la base de datos "Test" de MongoDB para realizar una operación agregada en la colección "Datos". El método agregado () se utiliza con una matriz que contiene una sola etapa de tubería que es la etapa de $ proyecto. La etapa de proyecto $ se utiliza para remodelar los documentos de la colección especificando un nuevo conjunto de campos. En este caso, se pasa el campo de la ciudad y se agrega un nuevo campo, "adj". El nuevo campo "ADJ" se crea utilizando el operador $ MAP que aplica una expresión especificada en cada elemento de una matriz de entrada y devuelve una matriz de salida con el mismo número de elementos.
El operador de MAP $ toma tres argumentos: la matriz de entrada que es "$ Distancia", un nombre variable para el elemento actual en la matriz de entrada que es "DC" y una expresión que se aplica a cada elemento de la matriz de entrada. En este caso, la expresión es truncar el valor decimal de la distancia utilizando el operador $ Trunc. El resultado es una variedad de documentos con la misma estructura que los documentos originales, pero con un campo adicional "adj" que contiene una serie de enteros que se truncan desde el campo de "distancia".
Prueba> DB.Datos.agregate ([$ Project: City: "$ City", adj:
... $ MAP: Entrada: "$ Distancia", AS: "DC", en: $ trunc: "$$ dc"]))
[
_id: ObjectId ("63C4E24CAC8011ECC27D7A38"), Ciudad: 'Newyork', adj: [22, 66, 88],
_id: ObjectId ("63C4E24CAC8011ECC27D7A39"), Ciudad: 'Londres', Jus. [77, 14, 11],
_id: ObjectId ("63C4E24CAC8011ECC27D7A3A"), Ciudad: 'Texas', adj: [44, 64, 94]
]
Conclusión
Esta guía elabora sobre el uso del operador "mapa" en MongoDB muy claramente en su introducción. Para apoyar la explicación que proporcionamos en la introducción, explicamos dos ejemplos relacionados en este artículo. Al pasar por estos ejemplos, puede agregar un valor a un elemento de matriz de un documento en particular y puede truncar los puntos decimales de elementos de matriz específicos. En conclusión, el operador de mapas $ de MongoDB es una característica poderosa que permite a los desarrolladores transformar la matrices de documentos en una colección. Es fácil de usar y se puede usar en combinación con los otros operadores de agregación para realizar transformaciones más complejas. Con $ MAP, los desarrolladores pueden manipular fácilmente los datos y hacerlo más útil para sus aplicaciones.