我正在尝试更新我的待办事项列表中的位置
var Todo = mongoose.model('Todo', {
text : String,
done : Boolean
});
database
模式有两个elements
,我只想更新boolean
- 已完成。
app.put('/api/todos/:todo_id', function(req, res) {
var query = { _id: req.params.todo_id };
Todo.update(query,
{ done: true
}, function(err, todo) {
if (err)
res.send(err);
Todo.find(function(err, todos) {
if (err)
res.send(err)
res.json(todos);
});
});
});
我想检查实际值然后更新。完成时间来自mongoose
model
所以我无法检查它?
if (done != true){
done: true }
else {
done: false }
这样的事情可能吗?
答案 0 :(得分:1)
app.put('/api/todos/:todo_id', function(req, res) {
Todo.findById(req.params.todo_id, function(err, todo) { // get todo by Model.findById
if (err) return res.send(err);
todo.done = !todo.done; // toggle todo's done field
todo.save(function(err) { // save to database
if (err) return res.send(err);
res.json(todo); // return the saved todo
});
});