Kann mir jemand bei einem Mangusten-Betrieb helfen? Ich baue gerade dieses Wahlsystem. Ich habe dieses Poll
Modell wie:mongo, wie kann man die Referenz mit Middleware korrekt entfernen?
var Poll = new Schema({
title: {
type: String,
required: true
},
options: [{text:String, count: {type: Number, default: 0}}],
author: {
type: Schema.ObjectId,
ref: 'Account',
},
disabled: {
type:Boolean,
default: false,
},
date: {type: Date, defalut: Date.now},
});
und ich habe diese Log-Modell als:
{ ip: '::1',
voter: 5824e7c3b6e659459818004f,
poll: 58264b48f767f2270452b5cb,
_id: 58264b4cf767f2270452b5ce }
:
var Log = new Schema({
ip: String,
voter: {
type: Schema.ObjectId,
ref: 'Account'
},
poll: {
type: Schema.ObjectId,
ref: 'Poll'
},
date: {type: Date, defalut: Date.now},
});
jedes Mal, wenn ein Benutzer Stimme für etwas, log etwas wie schaffen
sollte jetzt ein Benutzer eine seiner Poll löschen, sagen 58264b48f767f2270452b5cb
, ich möchte auch alle Protokolldokumente entfernen, die dieselbe Poll-ID darin hat.
las ich eine andere Antwort und kam eine Middleware mit
Poll.pre('remove', function(next){
var err = new Error('something went wrong');
this.model('Log').remove({poll: this._id}, function(err){
if (err) throw err;
})
next(err);
});
, aber es ist gar nicht funktioniert.
was soll ich tun? Vielen Dank.