sql >> Database teknologi >  >> NoSQL >> MongoDB

Mongoose bulk opdatering operation

Du kan gøre det, men problemet er, at når du får adgang til det underliggende samlingsobjekt fra basisdriveren, tages der ikke de samme forholdsregler som med de implementerede mongoose-modelmetoder.

Alle modelmetoder omslutter de underliggende metoder med andre funktioner, men den mest almindelige er at sørge for, at en databaseforbindelse er åben, før du forsøger at få adgang til metoden. Dette sikrer, at en Db instans er til stede og en Collection() objekt kan fås

Når du har brugt .collection accessor på modellen, så gør du det hele på egen hånd:

mongoose.connection.on('open',function(err,conn) {

   // now it's safe to use

   // { .. } Other code
   var bulk = Person.collection.initializeOrderedBulkOp();
   bulk.find(query).update(update);
   bulk.execute(callback)

});

Eller en anden metode, der grundlæggende sikrer, at forbindelsen rent faktisk er blevet etableret.

Med hensyn til indbygget understøttelse af Bulk API-metoder uden at dykke ned i det underliggende driverniveau, ja, det arbejdes der på i skrivende stund. Men du kan stadig implementere det selv, og det vil ikke bryde kode, så længe du opretter forbindelse til en MongoDB 2.6-serverinstans eller nyere.



  1. MongoDB:aggregeringsramme:$match mellem felter

  2. hvordan man har relationer mange til mange i redis

  3. MongoDB $toBool

  4. sudo service mongodb genstart giver ukendt servicefejl i ubuntu 14.0.4