测试功能后清理数据库

Cleaning database after tests feature

我尝试在每个功能之后清理数据库,但是我尝试的每一种方法都失败了。我试图删除整个 mongo 集合,dropDatabase 几乎所有内容(我猜)

包括

mongoose.connection.dropDatabase(() => {})

User.remove({ 'local.email': 'test@test.pl' })

数据库中的记录似乎没有任何变化。 顺便说一句,我的数据库托管在 mlab.com 上(它不是本地数据库)。我在启动应用程序(节点 server.js)期间正在建立 moongose.connection,因此我认为不需要从钩子连接到数据库。

我想在下面提供的挂钩中实现此代码。

您的数据库位于何处并不重要 - 唯一的区别是主机地址、端口和凭据

所以我正在使用 deleteMany

清理我的 collections
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");
    });    
});

我设法使用提供的屏幕截图中的代码解决了这个问题