跳到主要内容
CNode

mogoose更新记录时出错

社区
Ffanwang1977发布于 13 年前
026000

用put方式更新记录,尝试了用model以及entity的方式去更新一条记录,都提示: Cannot PUT /tasks/5302d2c84aba6c637352e435 其余我写的增加,删除记录都没问题,但是就是更新的时候不行。 大致的代码如下: mongoose.connect('mongodb://localhost/todo_development'); var Schema = mongoose.Schema; var ObjectId = Schema.ObjectId;

var TaskSchema = new Schema({ task: String });

var TaskModel = mongoose.model('Task', TaskSchema);

app.get('/tasks/:id/edit', function(req, res){ TaskModel.findById(req.params.id, function(err, doc){ res.render('tasks/edit', { title: 'Edit Task View', task: doc }); }); });

app.post('/tasks', function(req, res){ var task = new TaskModel(req.body.task); task.save(function (err){ if(!err) { res.redirect('/tasks'); } else{ res.redirect('/tasks/new'); } }); });

app.put('tasks/:id', function(req, res){ TaskModel.findById(req.params.id, function(err, doc){ doc.task = req.body.task.task; var _id = doc._id; delete doc._id TaskModel.update({_id:_id}, doc,function(err) { if(!err) { res.redirect('/tasks/new'); } else { //error handling } }); }); });

app.del('/tasks/:id', function(req, res) { TaskModel.findById(req.params.id, function(err, doc){ if (!doc) return next(new NotFound('Document not found')); doc.remove(function() { res.redirect('/tasks'); }); }); });

查看回复

回复 (0)

暂无回复,成为第一个参与讨论的人。

参与回复

登录后即可参与回复。登录