2016-10-29 6 views
0

Я хотел бы получить весь документ вместо добавленного элемента, когда я делаю save().Mongoose Model # save return value

var newTodo = Todos({ 
    ID: req.body.ID, 
    RuleName: req.body.RuleName 
}); 

newTodo.save(function (err, todos) { 
    if (err) throw err; 
    res.send(todos); 
}); 

ответ

1

Вы не можете получить его, если не расширить модельный метод, или получить его внутри сохранить

Простой версию

newTodo.save(function (err, todos) { 
    if (err) throw err; 
    Todos.find(err, todos) { 
     if (err) throw err; 
     res.send(todos); 
    } 
}); 

версию с пользовательским методом

// in schema definition 
TodosSchema.methods.saveAndFind = function(cb) { 
    var self = this; 
    self.save(function(err) { 
    if(err) throw err; 
    return self.model('Todos').find({}, cb); 
    }) 
}; 
// in controller 
var newTodo = Todos({ 
    ID: req.body.ID, 
    RuleName: req.body.RuleName 
}); 
newTodo.saveAndFind(function (err, todos) { 
    if (err) throw err; 
    res.send(todos); 
}); 
+0

Благодарит Вас за Помогите! –