sql >> Database >  >> NoSQL >> MongoDB

Mongoose bulk update operatie

U kunt het doen, maar het probleem is dat bij het benaderen van het onderliggende verzamelobject vanuit het basisstuurprogramma niet dezelfde voorzorgsmaatregelen worden genomen als bij de geïmplementeerde mangoestmodelmethoden.

Alle modelmethoden verpakken de onderliggende methoden met andere functies, maar de meest voorkomende is ervoor te zorgen dat een databaseverbinding open is voordat u toegang probeert te krijgen tot de methode. Dit zorgt ervoor dat een Db instantie is aanwezig en een Collection() object kan worden verkregen

Zodra u de .collection . gebruikt accessoire op het model, dan doet u het helemaal alleen:

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)

});

Of een andere methode die ervoor zorgt dat de verbinding daadwerkelijk tot stand is gebracht.

Wat betreft native ondersteuning voor Bulk API-methoden zonder in het onderliggende driverniveau te duiken, ja daar wordt op dit moment aan gewerkt. Maar u kunt het nog steeds zelf implementeren en het zal geen code breken zolang u verbinding maakt met een MongoDB 2.6-serverinstantie of hoger.



  1. Hoe lid te worden van meerdere collecties met $lookup in mongodb

  2. Json-bestand invoegen in mongodb

  3. spring-mongo-1.0.xsd fout

  4. Hoe hetzelfde schema te nesten in mangoest js