Uno dei miei schemi mangusta è una relazione molti a molti:Rimozione molti a molti di riferimento in Mongoose
var UserSchema = new Schema({
name : String,
groups : [ {type : mongoose.Schema.ObjectId, ref : 'Group'} ]
});
var GroupSchema = new Schema({
name : String,
users : [ {type : mongoose.Schema.ObjectId, ref : 'User'} ]
});
Se rimuovo un gruppo, c'è comunque di rimuovere quel gruppo objectId da tutti i 'gruppi' degli utenti array?
GroupSchema.pre('remove', function(next){
//Remove group._id from all the users
})
E se 'groups' non è indicizzato, si forza uno scansione completa della tabella e la scansione gamma di utenti. – WiredPrairie
@WiredPrairie C'è un modo per aggirare questo se i riferimenti doppiamente collegati sono affidabili. L'ho aggiunto come opzione migliore. – JohnnyHK
Sì, questo è un miglioramento e dovrebbe funzionare meglio. – WiredPrairie