2016-10-28 3 views
1

Hallo Jungs hier ist die Situation meines Problems:Mongoose, Hinzufügen/Aktualisieren Daten in eine Reihe von Dokumenten aus einer Sammlung

Mein Categories Modell wie folgt aussieht:

schema: { 
    _id: String, 
    name: String, 
    overview: String, 
    courses: [ 
     { 
      _id: String, 
      name: String 
     } 
    ] 
} 

Ich habe mehrere Kategorien in der obigen Sammlung aufgenommen, Categories

WAS BRAUCHEN ich

Ich habe eine [ Array ] von Categories._id wie folgt aus:

[ 
    '5812f3cb04700f2563c0e56a', 
    '5812f3ff04700f2563c0e56b', 
    ... 
] 

Alles, was ich zu wollen PUSH dieses Objekt {_id:5812f3ff04700f2563c0e56b, name:'SOMETHING' } zu allen aufgeführten Dokumente im Array von _id

, was ich versucht

Categories.update({ 
     '_id': { 
      $in : array_of_IDs 
     } 
    }, 
    { 
     $push :{ 
      'courses':{ _id: ret._id , name: ret.title } 
     } 
    }, function(err, respp){ 
     if(err) return res.negotiate(err); 
     else{ 
      req.addFlash('success', 'Categories updated successfully.'); 
      return res.redirect('/new-course'); 
     } 
    } 
); 

Das obige Code ist nur eine Sammlung (die Sammlung mit 1. ID in dem Array von IDs) aktualisiert

Bitte um Hilfe!

Dank

Antwort

1

kann

Categories.update({ 
     '_id': { 
      $in : array_of_IDs 
     } 
    }, 
    { 
     $push :{ 
      'courses':{ _id: ret._id , name: ret.title } 
     } 
    },{ multi: true }, function(err, respp){ 
     //.... 
    } 
); 
+0

Hey danke es +1 arbeitete mit multi: true als Option versuchen –

Verwandte Themen