Also im Wesentlichen, was ich habe, ist ein Standortindex. Hier ist das Standortschema:Wie lösche ich auch die ObjectId aus dem Elternelement mit Mungo?
In diesem Schema habe ich auch "Fänge" im Wesentlichen nur einen Kommentar. Hier ist das Schema für die:
var catchSchema = mongoose.Schema({
species: String,
weight: String,
image: String,
catchlocation: String,
description: String,
timePosted: { type: Date, default: Date.now },
author: {
id: {
type: mongoose.Schema.Types.ObjectId,
ref: "User"
},
username: String
}
},
{timestamps: true}
);
Ich erlaube ein Benutzer eine „fangen“ (oder Kommentar) mit dieser Route zu löschen:
app.delete("/locations/:id/catch/:catchid", isUserPost, function(req, res){
Catch.findByIdAndRemove(req.params.catchid, function(err){
if(err){
res.redirect("back");
} else {
req.flash("success", "Your catch has been deleted.");
res.redirect("/locations/" + req.params.id);
}
});
});
Nun zum Problem, wenn die „fängt“ (aka comment) wird gelöscht, es wird aus der Sammlung "catches" gelöscht, ABER die ObjectId bleibt am Speicherort. Wie würde ich mit Mungo auch die catch ObjectId aus dem Elternelement löschen?
Mögliches Duplikat [Entfernen eineindeutig und einmehrdeutige Referenzen - Mungo] (https://stackoverflow.com/questions/32674280/Entfernen-One-One-One-Many-Referenzen-Mungo) – Veeram