如何使用Mongoose从集合中删除所有文档?

我知道如何

  • 删除单个文档
  • 删除集合本身
  • 使用Mongo从集合中删除所有文档

但我不知道如何删除Mongoose收藏中的所有文档。我想在用户单击按钮时执行此操作。我假设我需要向某个端点发送AJAX请求并让该端点进行删除,但我不知道如何在端点处处理删除

在我的示例中,我有一个Datetime集合,我希望在用户单击按钮时删除所有文档

api/datetime/index.js

“严格使用”;
var express=需要(“express”);
var controller=require('./datetime.controller');
var router=express.router();
router.get('/',controller.index);
router.get('/:id',controller.show);
router.post('/',controller.create);
router.put('/:id',controller.update);
router.patch('/:id',controller.update);
删除('/:id',controller.destroy);
module.exports=路由器;

api/datetime/datetime.controller.js

“严格使用”;
var=要求('lodash');
var Datetime=require('./Datetime.model');
//获取日期时间列表
exports.index=函数(请求、恢复){
查找(函数(err,datetimes){
if(err){returnhandleerror(res,err);}
返回res.json(200,datetimes);
});
};
//获得一次约会时间
exports.show=功能(请求、恢复){
Datetime.findById(req.params.id,函数(err,Datetime){
if(err){returnhandleerror(res,err);}
如果(!datetime){return res.send(404);}
返回res.json(datetime);
});
};
//在数据库中创建新的日期时间。
exports.create=函数(请求、恢复){
创建(req.body,函数(err,Datetime){
if(err){returnhandleerror(res,err);}
返回res.json(201,datetime);
});
};
//更新数据库中的现有日期时间。
exports.update=功能(请求、恢复){
if(请求主体.\u id){删除请求主体.\u id;}
Datetime.findById(req.params.id,函数(err,Datetime){
if(err){returnhandleerror(res,err);}
如果(!datetime){return res.send(404);}
var updated=u.merge(日期时间,请求正文);
更新。保存(函数(错误){
if(err){returnhandleerror(res,err);}
返回res.json(200,datetime);
});
});
};
//从数据库中删除日期时间。
exports.destroy=功能(请求、恢复){
Datetime.findById(req.params.id,函数(err,Datetime){
if(err){returnhandleerror(res,err);}
如果(!datetime){return res.send(404);}
datetime.remove(函数(错误){
if(err){returnhandleerror(res,err);}
返回res.send(204);
});
});
};
函数句柄错误(res,err){
返回res.send(500,err);
}

DateTime.remove({},callback)空对象将匹配所有对象

发表评论