web-dev-qa-db-ja.com

ユニファイドトポロジで自動再接続を設定する方法

useUnifiedTopology=trueを設定すると、自動再接続が機能しなくなり、次のエラーが生成されます。

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

新しいフラグでサーバーを自動再接続するにはどうすればよいですか?

次のオプションで接続するためにmongoose.createConnectionを使用しています:

{
        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

ドキュメントによると、通常はautoReconnectuseUnifiedTopologyと組み合わせて設定しないでくださいソース: https://mongoosejs.com/docs/connections.html#options

autoReconnect-基になるMongoDBドライバーは、MongoDBへの接続が失われると、自動的に再接続を試みます。自分の接続プールを管理したい非常に高度なユーザーでない限り、このオプションをfalseに設定しないでください。

1
Marc Borni