我试图在每个功能之后清理数据库但是我尝试的每个方法都失败了。我试图删除整个mongo集合,dropDatabase几乎所有东西(我猜)
包括
mongoose.connection.dropDatabase(() => {})
User.remove({ 'local.email': 'test@test.pl' })
似乎数据库中的记录没有发生任何变化。 顺便说一句,我的数据库托管在mlab.com(它不是本地数据库)上。我在启动应用程序(node server.js)时建立了moongose.connection,所以我认为不需要从钩子连接到db。
我想在下面提供的钩子中实现这段代码。
答案 0 :(得分:0)
无论您的数据库位于何处 - 唯一的区别是主机地址,端口和凭据
所以我使用deleteMany清理我的收藏
const MongoClient = require('mongodb').MongoClient;
...
MongoClient.connect("mongodb://localhost:27017/test_db", function(err, database) {
if(err) return console.log(util.inspect(err));
db = database.db("test_db");
cCol = db.collection("collection_to_be_cleaned");
if(cCol)
cCol.deleteMany({}, function(err, result){
if(err) return console.log(util.inspect(err));
console.log("cleaned up ", result.deletedCount, " records");
});
});
答案 1 :(得分:0)