gpt4 book ai didi

node.js - 基于路由删除 MongoDB 中对象的推荐方法

转载 作者:可可西里 更新时间:2023-11-01 10:03:45 27 4
gpt4 key购买 nike

MEAN 堆栈开发的新手,但很喜欢它!我想以一种不基于观点的方式提出这个问题,所以请原谅我。

假设我有一个管理仪表板,其中列出了 MongoDB 集合中的对象。每个项目都有一个删除按钮,该按钮具有此方案的 href:href="/admin/ministry/delete/:id" 其中 :id 是对象的 ID在要删除的数据库中。

现在我有一个路由设置,可以成功地将请求路由到 Controller ,但我想知道这是否是删除对象的最佳方式。例如,一旦我单击某个对象的删除按钮,它就会被删除,我们将返回到仪表板,但 URL 仍然是这样的:http://localhost:3000/admin/ministry/delete/554b88546d280ab11603b062

所以基本上我的问题是,当涉及到从数据库中删除对象时,您对我的路由和 Controller 有什么建议。

路由器

var admin_ministry_controller = require('./controllers/admin/ministry_controller.js');
app.get('/admin/ministry/delete/:id', ministry_controller.delete);

Controller

var mongoose = require('mongoose');
var Ministry = mongoose.model("Ministry");

exports.delete = function(req, res) {
Ministry.findOne({_id:req.params.id}).exec(function(err, ministry){
if(ministry) {
ministry.remove();
}

var query = Ministry.find();
query.exec(function(err, doc) {
res.render('admin/ministry', {title: 'Next Steps | Ministry', msg: "Deleted Ministry", ministries: doc});
});

});
}

最佳答案

我建议您使用 RESTful API 结构。只需看一下 API 的外观: RESTful API

在您的情况下,要删除 ministry,用户应该向 /api/admin/ministry/:id 发送一个 DELETE 请求。

路由器应该是这样的:

app.delete('/admin/ministry/:id', ministry_controller.delete);

关于node.js - 基于路由删除 MongoDB 中对象的推荐方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30169944/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com