如何使用快速的nodejs和mongoose在Restful API中执行PUT和DELETE操作?

时间:2018-09-10 11:21:19

标签: node.js rest api asynchronous mongoose

Error ScreenShot

//Routes.js

module.exports = function(app){
var todolist = require('../controllers/todolistcontroller');

//Defining the routes

app.route('/tasks')
.get(todolist.list_all_tasks)
.post(todolist.create_a_newtask);

app.route('/tasks/taskId')
.get(todolist.read_a_task)
.put(todolist.update_a_task)
.delete(todolist.delete_a_task);
};

//Controller.js

var mongoose = require('mongoose'),
Task = mongoose.model('Tasks');

exports.list_all_tasks = function(req,res){
    Task.find({},function(err,task){
        if(err)
        res.send(err);
        res.json(task);
    });
};

exports.create_a_newtask = function(req,res){
    var newTask = new Task(req.body);
    newTask.save(function(err,task){
        if(err)
        res.send(err);
        res.json(task);
    });
};

exports.read_a_task = function(req,res){
    Task.findById(req.params.taskId,function(err,task){
        if(err)
        res.send(err);
        res.json(task);
    });
};

exports.update_a_task = function(req,res){
    Task.findOneAndUpdate({_id:req.params.taskId},req.body,{new : true},function(err,task){
        if(err)
        res.send(err);
        res.json(task);
    });
};

exports.delete_a_task = function(req,res){
    Task.remove({_id:req.params.taskId},function(err,task){
        if(err)
        res.send(err);
        res.json({message:'Task deleted'});
    });
};

express.jsnodejs中使用具有mongoose框架的RESTful Api编写简单的CRUD操作。经过POSTMAN的测试,可以收到整个数据库的响应,并且可以发布新数据。但是,PUTDELETE方法不起作用。无法找出错误。

在此先感谢您的帮助。

这是我的代码

var mongoose = require('mongoose'),
Task = mongoose.model('Tasks');

exports.list_all_tasks = function(req,res){
    Task.find({},function(err,task){
        if(err)
        res.send(err);
        res.json(task);
    });
};

exports.create_a_newtask = function(req,res){
    var newTask = new Task(req.body);
    newTask.save(function(err,task){
        if(err)
        res.send(err);
        res.json(task);
    });
};

exports.read_a_task = function(req,res){
    Task.findById(req.params.taskId,function(err,task){
        if(err)
        res.send(err);
        res.json(task);
    });
};

exports.update_a_task = function(req,res){
    Task.findOneAndUpdate({_id:req.params.taskId},req.body,{new : true},function(err,task){
        if(err)
        res.send(err);
        res.json(task);
    });
};

exports.delete_a_task = function(req,res){
    Task.remove({_id:req.params.taskId},function(err,task){
        if(err)
        res.send(err);
        res.json({message:'Task deleted'});
    });
};

0 个答案:

没有答案