Creación y Eliminación de Datos en MongoDB
Clase 14 de 17 • Curso de Automatización de Pruebas de Backend con Cypress
Resumen
¿Cómo crear funciones para manipular bases de datos no relacionales?
Las bases de datos no relacionales son herramientas esenciales en el mundo moderno del desarrollo, especialmente cuando se trabaja con estructuras de datos complejas y en constante cambio. En este tutorial, te mostraré cómo crear funciones en JavaScript para realizar acciones clave en bases de datos no relacionales, usando como ejemplo MongoDB. ¡Empecemos!
¿Cómo crear un nuevo documento en MongoDB?
Crear un nuevo documento en una base de datos es una de las operaciones más comunes y, a continuación, te muestro cómo puedes hacerlo utilizando una función asincrónica en JavaScript y MongoDB.
async function createPlanet(planet) {
const client = await MongoClient.connect(uri, options);
const result = await client.db("space").collection("planets").insertOne(planet);
console.log(result);
}
En este ejemplo, la función createPlanet
se conecta a la base de datos y usa el método insertOne
para agregar un nuevo documento a la colección planets
. Es importante pasar el objeto planet
como argumento, ya que este contiene toda la información que queremos almacenar.
¿Cómo probar la función de creación?
Para asegurarte de que la función está funcionando correctamente, puedes realizar algunas pruebas básicas. Puedes utilizar herramientas de prueba automatizadas, como Cypress, para validar la operación.
cy.task("createPlanet", planetData).then(result => {
expect(result.acknowledged).to.be.true;
expect(result).to.have.property("insertedId");
});
Este fragmento ejecuta la función createPlanet
y verifica que un nuevo documento fue insertado exitosamente al comprobar que el acknowledged
es true
y que el insertedId
está presente.
¿Cómo eliminar documentos de una colección?
Eliminar todos los documentos de una colección es una operación que se debe realizar con precaución. Pero aquí está un ejemplo de cómo hacerlo en MongoDB:
async function clearPlanets() {
const client = await MongoClient.connect(uri, options);
await client.db("space").collection("planets").deleteMany({});
console.log("All documents deleted.");
}
La función clearPlanets
se conecta a la base de datos y elimina todos los documentos de la colección planets
usando deleteMany
con un objeto vacío como filtro, lo cual indica que todos los documentos deben ser eliminados.
¿Cómo puedes implementar las actualizaciones y la eliminación individual de registros?
Te sugiero que uses las siguientes recomendaciones para tus próximas implementaciones:
-
Función de actualización (Update): Crea una función que reciba el ID del documento y los nuevos datos que se van a actualizar. Debe emplear métodos como
updateOne
. -
Función de eliminación de un único registro: Desarrolla una función que utilice
deleteOne
junto con un filtro basado en el ID del documento que desees borrar. -
Manejo de IDs: Asegúrate de almacenar y manejar cuidadosamente los IDs, ya que estos serán cruciales al realizar actualizaciones o eliminaciones.
¿Qué viene después?
En las siguientes lecciones, exploraremos cómo integrar las bases de datos con las APIs para asegurar que la información que manejas en el frontend sea consistente con la almacenada en el servidor. Este conocimiento te permitirá validar y asegurar que el API y la base de datos funcionan armoniosamente. ¡Sigue aprendiendo y profundizando en este fascinante mundo de las bases de datos no relacionales!