我目前正在使用mongoose@4.0.4,每当我手动断开MongoDb时,mongoose disconnect / reconnect事件都没有被解决,每次MongoDb手动断开/启动时都会触发重新连接事件并且不会触发断开连接。我的问题是处理MongoDb连接和断开连接状态,以便每次向服务器发出请求时,我都会看到MongoDb连接/断开连接的状态并发送相应的响应(可能是500个代码),因为如果MongoDb不是,请求会在中间挂起连接的。 为了查看这是否是版本问题,我说明了版本3.8.x并转到4.0.4以查看事件被正确触发的位置。我能够从版本4.0.x捕获重新连接事件,但不能捕获断开连接事件。 基本上想知道我可以使用哪个版本正确触发连接/断开事件或处理问题的方法。
下面是代码句柄事件
var db = mongoose.connection;
var connected;
db.on('open', function (ref) {
connected = true;
console.log('open connection to mongo server.');
});
db.on('connected', function (ref) {
global.mongo_conn=true;
console.log('Connected connection to mongo server.');
});
db.on('disconnected', function (ref) {
connected = false;
console.log('disconnected connection.');
});
db.on('disconnect', function (err) {
console.log('Error...disconnect', err);
});
db.on('connecting', function (ref) {
connected = false;
console.log('connecting.');
});
db.on('close', function (ref) {
global.mongo_conn=false;
console.log('close connection.');
connect();
});
db.on('error', function (ref) {
connected = false;
console.log('Error connection.');
//mongoose.disconnect();
global.mongo_conn=false;
});
db.on('reconnected', function () {
global.mongo_conn=true;
console.log('MongoDB reconnected!');
});
db.on('reconnecting', function () {
global.mongo_conn=true;
console.log('reconnecting!');
});
function connect() {
mongoose.connect(config.mongo.uri, opts);
}
connect();
答案 0 :(得分:-1)
PreferenceManager.getDefaultSharedPreferences(context)
.edit()
.putString("null", authorizedHeader)
.putString("null", userId) // so there is actually only one key
.apply();