nodejs mangouste mise à jour en bloc

J'ai une collection de données, et je dois ajouter, pour tous les documents d'un nouveau champ. Si je lance une requête pour obtenir tous les documents et la mise à jour tous seul node.js est arrêté, peut-être pour une fuite de mémoire

C'est mon code

var express = require('express');

var geocoderProvider = 'google';
var httpAdapter = 'http';

var People = require("./models/people").collection.initializeOrderedBulkOp();

var app = express();

var geocoder = require('node-geocoder').getGeocoder(geocoderProvider, httpAdapter, {});

app.get('/', function (req, res) {
  People.find({}, function (err, docs) {
    if (err) {
      res.send(err);
    }else{
      docs.forEach( function (doc){
        geocoder.geocode({address: doc.address, country: 'Italy', zipcode: doc.cap}, function(error, value) {
          doc.loc.coordinates[0]=value[0].latitude;
          doc.loc.coordinates[1]=value[0].longitude;
          People.update({ _id: doc._id }, { $set: { loc: doc.loc }}, { multi: true }, function (error){
            if(error){
              console.error('ERROR!');
            }
          });
        });
      });
    }
  });
});

var server = app.listen(3000, function () {
  var host = server.address().address
  var port = server.address().port
  console.log('Example app listening at http://%s:%s', host, port)
});

Il n'y a aucun moyen de mise à jour en bloc avec la mangouste?
Merci d'avance

vous devriez regarder à l'aide de flux de données - vous pouvez ensuite mettre en pause, faire un changement, d'enregistrer, puis de reprendre le stream - edit: mongo permet uniquement de modifications atomiques (c'est à dire une doc changement à la fois, si bien qu'aucun il n'y a pas de modification globale)
Il ne me semble pas comme node.js devrait "arrêter" alors que la mise à jour de vos documents. En ce qui concerne en vrac de la mise à jour avec la mangouste, MongoDB ne prend pas en charge le multi-document de transactions. Si vous souhaitez mettre en place quelque chose près, regarde stackoverflow.com/questions/12493576/...

OriginalL'auteur Claudio Pomo | 2015-01-29