Node.JS中的Mongoose / MongoDB在一段时间后停止返回记录

时间:2017-05-23 20:18:28

标签: node.js mongodb mongoose mlab

我有一个运行的脚本,可以在我拥有的数据库中查找数据。由于某种原因,经过一段时间后,它会停止查找任何数据,但不会向屏幕或node.js输出任何错误。以下是我对mongoose的设置。我在MLAB btw有一个数据库!

var connectionOptions = {
    server: {
        auto_reconnect: true,
        poolSize: 16,
        socketOptions: {
            keepAlive: 120,
            connectTimeoutMS: 5 * 60 * 60 * 1000,
            socketTimeoutMS: 5 * 60 * 1000
        }
    },
    replset: {
        poolSize: 16,
        socketOptions: {
            connectTimeoutMS: 300000, // 5 minutes
            keepAlive: 120
        },
        ha: true, // Make sure the high availability checks are on
        haInterval: 5000, // Run every 10 seconds
    }
};

//mongoose.set('debug', true);
mongoose.connect('mongodb://XXXXXXXXXXXX@XXXXXX.mlab.com:57328,XXXXXXXX.mlab.com:57328/XXXXXXXXX?replicaSet=rs-XXXXXX', connectionOptions, function (err) {
    if (err) console.log(err);
});

mongoose.connection.on('connecting', function () {
    console.log('Connecting to MongoDB...');
});

mongoose.connection.on('connected', function () {
    console.log('MongoDB connected!');
});

mongoose.connection.on('open', function () {
    console.log('MongoDB connection opened!');
});

mongoose.connection.on('error', function (err) {
    console.log(err);
    mongoose.disconnect();
});

mongoose.connection.on('disconnected', function () {
    console.log('MongoDB disconnected!');
    mongoose.connect('mongodb://XXXXXXXXXXXX@XXXXXX.mlab.com:57328,XXXXXXXX.mlab.com:57328/XXXXXXXXX?replicaSet=rs-XXXXXX', connectionOptions, function (err) {
        if (err) console.log(err);
    });
});

mongoose.connection.on('reconnected', function () {
    console.log('MongoDB reconnected!');
});

mongoose.connection.on('close', function () {
    console.log.error('MongoDB closed');
});

mongoose.connection.on('ha', function(type, data) {
    console.log('replset ha ' + type);
});

mongoose.connection.on('timeout', function () {
    console.log.error('MongoDB timeout');
});

我看过很多配置,但我尝试过很多不同的东西,但似乎没什么用。

我真的很感激帮助,因为我一直在研究相当多的运气。

再次回顾一下,我有一个运行从数据库查询记录的脚本,经过一段时间后,脚本将继续运行但似乎找不到任何新记录并停止响应任何新数据。

0 个答案:

没有答案