Retornar coleção atualizada com Mongoose

Eu trabalho com o nodejs / express / mongoose / angularjs. Gostaria de atualizar uma coleção chamada Listas, que possui várias propriedades, uma das quais é uma matriz de itens. No código a seguir, estou empurrando um novo item de tarefa na matriz de itens. Tudo funciona bem, no entanto, a função de atualização não envia de volta a coleção atualizada, então devo executar outra consulta no banco de dados. Existe uma maneira mais eficiente de fazer isso?

O código nodejs / express:

exports.addTaskToList = function(req, res) {
    var listId = req.params.Id;
    var taskId = req.params.TaskId;
    Lists.update({_id: listId}, {$push: {items: taskId}}, {safe:true, upsert: true}, function(err, result){
        if(err) {
            console.log('Error updating todo list. ' + err);
        }
        else{
            console.log(result + ' todo list entry updated - New task added');
            Lists.findById(listId).populate('items').exec(function (err, updatedEntry) {
                if (err) {
                    console.log('Unable to retrieve todo list entry.');
                }
                res.send(JSON.stringify(updatedEntry));
            });
        }           
    });
};

Além disso, os itens da matriz são uma matriz de ObjectIds. Esses itens estão em um esquema separado, portanto, em uma coleção separada. É possível empurrar o objeto inteiro e não apenas seu _id para que não haja outra coleção criada?

questionAnswers(3)

yourAnswerToTheQuestion