web-dev-qa-db-fra.com

Comment définir la reconnexion automatique avec la topologie unifiée

Après avoir défini useUnifiedTopology=true, la reconnexion automatique a cessé de fonctionner et génère les ERREURS suivantes:

DeprecationWarning: The option `reconnectInterval` is incompatible with the unified topology
DeprecationWarning: The option `reconnectTries` is incompatible with the unified topology
DeprecationWarning: The option `autoReconnect` is incompatible with the unified topology

Comment puis-je amener le serveur à se reconnecter automatiquement avec ce nouveau drapeau?

J'utilise mongoose.createConnection pour vous connecter avec les options suivantes:

{
        autoReconnect: true,
        keepAliveInitialDelay: 300000,
        connectTimeoutMS: 300000,
        reconnectTries: Number.MAX_VALUE,
        reconnectInterval: 1000,
        useNewUrlParser: true,
        useUnifiedTopology: true,
        useCreateIndex: true,
        poolSize: 10,
        auth: {
            authSource: "admin"
        },
        user: process.env.MONGO_USER,
        pass: process.env.MONGO_PASS
    }
7
TBE

Selon les documents, vous ne devriez généralement pas définir autoReconnect en combinaison avec useUnifiedTopology Source: https://mongoosejs.com/docs/connections.html#options

autoReconnect - Le pilote MongoDB sous-jacent tentera automatiquement de se reconnecter lorsqu'il perd la connexion à MongoDB. Sauf si vous êtes un utilisateur extrêmement avancé qui souhaite gérer son propre pool de connexions, ne définissez pas cette option sur false.

1
Marc Borni