我正在进行摩卡咖啡测试。我必须在before
函数中连接到MongoDB,并且需要在after函数中删除集合中的文档。
before("authenticate user", async () => {
mongoose.connect('mongodb://localhost:27017/mo-identity')
db = mongoose.connection;
db.once('open', function() {
console.log('We are connected to test `enter code here`database!')
})
.on('error', ()=>{console.error.bind(console, 'connection error')})
})
after(()=>{
db.User.drop()
})
以上是我的代码。
user
是一个集合。执行此代码时,出现此错误TypeError: Cannot read property 'drop' of undefined
。帮我解决这个错误
答案 0 :(得分:0)
恐怕您不能像这样丢弃收藏集:
db.User.drop()
如果要删除收集,则应执行以下操作:
mongoose.connection.db.dropCollection('User', function(err, result) {...});
答案 1 :(得分:0)
正如@drinchev所说,您可以通过执行以下操作删除所有文档:
Model.remove({}, function(err) {
console.log('collection removed')
});
您的情况:
after(()=>{
db.User.remove({}, (err) => {
if (err) throw err;
});
})
希望有帮助。