Saltar al contenido

¿Cómo eliminar una base de datos con Mongoose?

Esta duda se puede abordar de diferentes formas, pero en este caso te enseñamos la que para nosotros es la solución más completa.

Solución:

No existe un método para eliminar una colección de mongoose, lo mejor que puede hacer es eliminar el contenido de una:

Model.remove(, function(err)  
   console.log('collection removed') 
);

Pero hay una forma de acceder al controlador javascript nativo de mongodb, que se puede usar para esto

mongoose.connection.collections['collectionName'].drop( function(err) 
    console.log('collection dropped');
);

Advertencia

¡Haz una copia de seguridad antes de intentar esto en caso de que algo salga mal!

Mongoose creará una base de datos si aún no existe una en la conexión, por lo que una vez que realice la conexión, puede consultarla para ver si hay algo en ella.

Puede eliminar cualquier base de datos a la que esté conectado:

var mongoose = require('mongoose');
/* Connect to the DB */
mongoose.connect('mongodb://localhost/mydatabase',function()
    /* Drop the DB */
    mongoose.connection.db.dropDatabase();
);

Si modifica la solución de @hellslam de esta manera, funcionará

Uso esta técnica para eliminar la base de datos después de mis pruebas de integración.

//CoffeeScript
mongoose = require "mongoose"
conn = mongoose.connect("mongodb://localhost/mydb")

conn.connection.db.dropDatabase()

//JavaScript
var conn, mongoose;
mongoose = require("mongoose");
conn = mongoose.connect("mongodb://localhost/mydb");

conn.connection.db.dropDatabase();

HTH al menos lo hizo por mí, así que decidí compartir =)

Recuerda que puedes permitirte añadir una estimación certera si chocaste tu conflicto en el momento justo.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *