var mongoose = require('mongoose').set('debug', false) mongoose.Promise = global.Promise; mongoose.level = ""; mongoose.plugin(schema => { schema.options.usePushEach = true }); mongoose.set('debug', false); const options = { // user: process.env.UDB, // pass: process.env.PDB, // useMongoClient: true, // useNewUrlParser: true, // non supportato // useMongoClient: false, useNewUrlParser: true, useFindAndModify: false, useCreateIndex: true, useUnifiedTopology: true, promiseLibrary: require('bluebird'), // autoIndex: false, // Don't build indexes // reconnectTries: Number.MAX_VALUE, // Never stop trying to reconnect // reconnectInterval: 500, // Reconnect every 500ms // poolSize: 10, // Maintain up to 10 socket connections // // If not connected, return errors immediately rather than waiting for reconnect // bufferMaxEntries: 0, // connectTimeoutMS: 10000, // Give up initial connection after 10 seconds // socketTimeoutMS: 45000, // Close sockets after 45 seconds of inactivity // family: 4 // Use IPv4, skip trying IPv6 // keepAlive: true, // keepAlive is true by default since mongoose 5.2.0 // keepAliveInitialDelay: 300000 // keepAliveInitialDelay is the number of milliseconds to wait before initiating keepAlive on the socket. }; const db = mongoose.connection; // mongoose.connect(process.env.MONGODB_URI + '?authSource=admin', { options }) // console.log(' -> PASSAGGIO PARAMETRI MONGOOSE') mongoose.connect(process.env.MONGODB_URI, options); db.on('error', console.error.bind(console, 'connection error:')); db.once('open', function() { // we're connected! console.log('*** CONNESSIONE EFFETTUATA ! ' + process.env.MONGODB_URI + ' db: ' + process.env.DATABASE) }); module.exports = {mongoose};