MongoDB es una base de datos NoSQL orientada a documentos que ofrece alto rendimiento, alta disponibilidad y fácil escalabilidad. Trabaja con el concepto de Colecciones y Documentos. Las colecciones equivalen a tablas en bases de datos relacionales, mientras que los documentos equivalen a filas. Sin embargo, la estructura de un Documento es más flexible que la de una línea, ya que cada Documento puede tener su propia estructura.
8.4. Insertar documentos en MongoDB
Para comenzar a trabajar con MongoDB, es importante comprender la estructura de sus documentos. En MongoDB, los documentos están estructurados en un formato llamado BSON, que es una representación binaria de JSON. Cada documento se compone de pares de campos y valores.
Un ejemplo de un documento MongoDB podría ser:
{ "_id": Id. de objeto ("5099803df3f4948bd2f98391"), "nombre": "Juan", "edad": 25, "profesión": "Ingeniero de software" }
Los campos de un documento son como columnas en una tabla de base de datos relacional. El valor puede ser de varios tipos diferentes, incluido otro documento, una matriz de documentos y una matriz de valores. El campo "_id" es un campo especial que MongoDB agrega automáticamente a cada documento si no proporciona uno. Debe ser único para cada documento de una colección.
Para insertar un documento en una colección, usamos el método "insertOne()" si queremos insertar un solo documento, o "insertMany()" si queremos insertar varios documentos a la vez. A continuación se muestra un ejemplo de cómo insertar un documento:
db.collection('usuarios').insertOne({ nombre: "Juan", edad: 25, profesión: "Ingeniero de software" })
Si la operación tiene éxito, MongoDB devuelve un objeto que incluye el estado de la operación y el "_id" del documento insertado.
Para insertar varios documentos, podemos pasar una serie de documentos al método "insertMany()". Aquí tienes un ejemplo:
db.collection('usuarios').insertMany([ { nombre: "María", edad: 30, profesión: "Diseñador" }, { nombre: "Pedro", edad: 20, profesión: "Estudiante" } ])
Si la operación tiene éxito, MongoDB devuelve un objeto que incluye el estado de la operación y los "_id" de los documentos insertados.
Los documentos en MongoDB son muy flexibles. No es necesario que tengan la misma estructura, lo que significa que diferentes documentos de la misma colección pueden tener diferentes conjuntos de campos. Esta es una de las grandes ventajas de MongoDB sobre las bases de datos relacionales, ya que permite almacenar datos estructuralmente diversos.
Por ejemplo, un documento de nuestra colección "usuarios" puede tener un campo adicional de "pasatiempos", mientras que otro documento no:
{ "_id": Id. de objeto ("5099803df3f4948bd2f98392"), "nombre": "Ana", "edad": 27, "profesión": "Analista de Sistemas", "aficiones": ["Leer", "Cine", "Correr"] }
Esta flexibilidad convierte a MongoDB en una excelente opción para tratar con datos semiestructurados y no estructurados.
En resumen, insertar documentos en MongoDB es una operación sencilla y directa. La estructura flexible del documento hace de MongoDB una poderosa herramienta para manejar una amplia variedad de datos.