Kaskadenartlöschung im Mungo

Gibt es eine Möglichkeit, alle Kinder eines Elternteils in Mongoose zu löschen, ähnlich wie bei der Verwendung von MySQLs Fremdschlüsseln?

In MySQL würde ich beispielsweise einen Fremdschlüssel zuweisen und ihn so einstellen, dass er beim Löschen kaskadiert. Wenn ich also einen Client löschen würde, würden auch alle Anwendungen und zugeordneten Benutzer entfernt.

Von einer obersten Ebene:

Client löschenLöschen Sie GewinnspieleBeiträge löschen

Gewinnspiele und Einreichungen haben beide ein Feld für client_id. Submissions hat ein Feld für sowohl sweepstakes_id als auch client_id.

Im Moment benutze ich den folgenden Code und bin der Meinung, dass es einen besseren Weg geben muss.

Client.findById(req.params.client_id, function(err, client) {

    if (err)
        return next(new restify.InternalError(err));
    else if (!client)
        return next(new restify.ResourceNotFoundError('The resource you requested could not be found.'));

    // find and remove all associated sweepstakes
    Sweepstakes.find({client_id: client._id}).remove();

    // find and remove all submissions
    Submission.find({client_id: client._id}).remove();

    client.remove();

    res.send({id: req.params.client_id});

});

Antworten auf die Frage(3)

Ihre Antwort auf die Frage