Geben Sie aktualisierte Sammlung mit Mungo zurück

Ich arbeite mit nodejs / express / mongoose / angularjs. Ich möchte eine Sammlung mit dem Namen Lists aktualisieren, die mehrere Eigenschaften hat, von denen eine ein Array von Elementen ist. Im folgenden Code stelle ich neue Aufgabenelemente in das Array items. Alles funktioniert einwandfrei, jedoch sendet die Aktualisierungsfunktion die aktualisierte Sammlung nicht zurück. Dann muss ich eine weitere Abfrage für die Datenbank durchführen. Gibt es eine effizientere Möglichkeit, dies zu tun?

Der NodeJS / Express-Code:

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));
            });
        }           
    });
};

Darüber hinaus ist das Array Items ein Array von ObjectIds. Diese Elemente befinden sich in einem separaten Schema, also in einer separaten Sammlung. Ist es möglich, das gesamte Objekt und nicht nur seine _id zu verschieben, sodass keine weitere Sammlung erstellt wird?

Antworten auf die Frage(3)

Ihre Antwort auf die Frage