2017-10-03 3 views
2

comment supprimer valeur référencée dans le schéma mangouste

const UniversitySchema = new Schema({ 
 
\t university_name: { 
 
\t \t type:String, 
 
\t \t 
 
\t }, 
 
\t status: { 
 
\t \t type: String 
 
\t } 
 

 
}); 
 

 
const CollageSchema = new Schema({ 
 
\t collage_name: { 
 
\t \t type:String, 
 
\t \t required: [true,'Name field is required'] 
 
\t }, 
 
\t university_id: { 
 
\t \t type: [{ type: Schema.Types.ObjectId , 
 
\t \t ref: 'university' }] 
 

 
\t }, 
 
\t type: { 
 
\t \t type:String 
 
\t } 
 

 
});

router.delete('/university/:id',function(req,res,next){ 
 
\t University.findByIdAndRemove({_id:req.params.id}).then(function(detail){ 
 
\t \t res.send(detail); 
 
\t }); 
 
});

J'ai référencé _id de UniversitySchema dans CollageSchema et si je supprime tout collage correspondant universitaire devrait être supprimée. Comment faire ça?

Répondre

0

Avec un appel mongo supplémentaire sur la collecte collages, en utilisant Promise.all():

router.delete('/university/:id',function(req,res,next){ 

    const ObjectId = require('mongodb').ObjectId; 
    const _id = ObjectId(req.params.id); 

    const removeUniversity = University.findByIdAndRemove({ _id: _id }); 
    const removeCollage = Collage.remove({ university_id: _id }); 

    Promise 
     .all([removeUniversity, removeCollage]) 
     .then(function(values) { 
      const detail = values[0]; 
      res.send(detail); 
     }) 
     .catch((err) => console.error(err)); 

}); 
+0

grâce il fonctionne bien .. merci ...... –

+0

vous –

+0

je me réfère à "university_id" dans le tableau de collage, mais il prendra n'importe quel identifiant qui n'est pas présent. –