Una de las tareas más fundamentales al trabajar con cualquier base de datos es ingresar datos en ella. En MongoDB, los datos se almacenan como documentos, que son estructuras de datos similares a JSON (notación de objetos JavaScript). En este capítulo, discutiremos cómo insertar documentos en una colección de MongoDB.
Antes de comenzar, es importante comprender que en MongoDB, una base de datos no se crea hasta que los datos se almacenan en ella. Por lo tanto, la primera vez que insertamos un documento en una colección, MongoDB creará tanto la base de datos como la colección por nosotros.
Insertar un solo documento
Para insertar un solo documento en una colección, utilizamos el método insertOne()
. Este método crea un nuevo documento si los campos del documento no existen en la colección. Si el documento contiene un campo "_id", el método verificará la colección para ver si ya existe un documento con el mismo ID. Si el documento existe, el método devolverá un error.
db.collection('nombredecolección').insertOne( {artículo: "artículo1", cantidad: 10}, función (errar, resultado) { consola.log(resultado); } );
En este ejemplo, estamos insertando un documento con dos campos, "elemento" y "cantidad", en la colección llamada 'nombrecolección'. Si la inserción es exitosa, el método devuelve un objeto de resultado que contiene información sobre la operación.
Insertar varios documentos
Para insertar varios documentos en una colección a la vez, utilizamos el método insertMany()
. Este método acepta una serie de documentos para insertarlos en la colección.
db.collection('nombredecolección').insertMany( [ {artículo: "artículo1", cantidad: 10}, {artículo: "artículo2", cantidad: 20}, {artículo: "artículo3", cantidad: 30} ], función (errar, resultado) { consola.log(resultado); } );
En este ejemplo, estamos insertando tres documentos en la colección 'collectionName'. Nuevamente, si la inserción es exitosa, el método devuelve un objeto de resultado que contiene información sobre la operación.
Trabajar con el campo _id
En MongoDB, cada documento debe tener un campo "_id" único que actúa como clave principal del documento. Si un documento que se inserta no contiene un campo "_id", MongoDB agregará uno por nosotros. El valor del campo "_id" es un objeto ObjectId que MongoDB genera automáticamente.
También podemos proporcionar nuestro propio valor para el campo "_id" cuando insertamos un documento. Sin embargo, debemos asegurarnos de que el valor sea único en la colección.
db.collection('nombredecolección').insertOne( { _id: "miId", elemento: "elemento1", cantidad: 10 }, función (errar, resultado) { consola.log(resultado); } );
En este ejemplo, proporcionamos nuestro propio valor para el campo "_id" cuando insertamos un documento. Si ya existe un documento con el mismo ID en la colección, la operación de inserción falla.
Conclusión
Insertar documentos en una colección es una tarea básica pero esencial cuando se trabaja con MongoDB. Mediante el uso de los métodos insertOne()
y insertMany()
, podemos insertar uno o varios documentos en una colección a la vez. También tenemos la flexibilidad de proporcionar nuestro propio valor para el campo "_id" de un documento, siempre que sea único en la colección.
Comprender cómo insertar documentos es un paso importante para trabajar eficazmente con MongoDB. En el próximo capítulo, analizaremos cómo consultar documentos en una colección de MongoDB.