Mongoose.js: como implementar criar ou atualizar?

Eu tenho uma solicitação cujo corpo contém dados e _id

Qual é a melhor maneira de implementar o código que será atualizado se o registro com _id existir e for criado um, se não houver um? Meu código:

var obj = req.body;
Model.findById(obj._id, function(err, data){
    if (!data){
        var model = new Model(obj)
        model.save(function(err, data){
            res.send({method: 'create', error: err, data: data})
        })
    } else {
        Model.findByIdAndUpdate(obj._id, obj, function(){
            res.send({method: 'update', error: err, data: data})
        })
    }

Eu só estou pensando que talvez haja uma maneira melhor de fazer isso.

questionAnswers(1)

yourAnswerToTheQuestion