2016-03-21 4 views
0

ich Mongo mit mongodb.MongoClient wie diesemongodb Verhalten bei Mongo Server gestoppt

verwendet
var mongoClient = new MongoClient(new Server(mongoHost, mongoPort)); 
mongoClient.open(function(err, mongoClient) { 
    if (!mongoClient) { 
     logger.error("Error! Exiting... Must start MongoDB first"); 
     process.exit(1); 
    } 
    var dbName = config['mongo.db']; 
    var db = mongoClient.db(dbName); 
    collectionDriver = new CollectionDriver(db); 
}); 

Der obige Code funktioniert gut.

  • Jetzt auf der Kommandozeile stoppte ich Mongo.
  • Wenn ich irgendeine Operation wie collectionDriver.save mache, erhalte ich keinen Fehlerrückruf.

collectionDriver.save als

//save new object 
CollectionDriver.prototype.save = function(collectionName, obj, callback) { 
    this.getCollection(collectionName, function(error, the_collection) { 
     if(error) callback(error) 
     else { 
     obj.created_at = new Date(); 
     the_collection.insert(obj, function(error, result) { 
      if (error) callback(error) 
      else callback(null, result); 
     }); 
     } 
    }); 
}; 

definiert Wenn ich mongodb wieder von vorn anfangen, es funktioniert wie erwartet.

Was ist das erwartete Verhalten von CollectionDriver.prototype.save, wenn ich mongo Server heruntergefahren?

+0

@zangw Das normale Verhalten ist natürlich, auf eine Verbindung warten, bis die Zeitüberschreitung scheint rational nicht wahr? Es wäre nicht rational, nur Fehler zu produzieren. Es ist wirklich egal, was Ihre "Meinung" ist, aber was der Fahrer tut und was die aktuellen Einstellungen sind. –

Antwort

Verwandte Themen