更新
Mongoose 5.7.1がリリースされ、問題が修正されたようです。そのため、useUnifiedTopology
を設定します。 オプションは期待どおりに機能します。
mongoose.connect(mongoConnectionString, {useNewUrlParser: true, useUnifiedTopology: true});
元の回答
私は同じ問題に直面していて、Mongooseコードを深く掘り下げることにしました:https://github.com/Automattic/mongoose/search?q =useUnifiedTopology&unscoped_q =useUnifiedTopology
Mongooseのバージョン5.7で追加されたオプションのようですが、まだ十分に文書化されていません。ライブラリ履歴https://github.com/Automattic/mongoose/blob/master/History.md
で言及されていることすら見つかりませんでしたコードのコメントによると:
- @param{ブール値}[options.useUnifiedTopology=false]デフォルトではFalse。
true
に設定 MongoDBドライバーのレプリカセットとシャードクラスター監視エンジンにオプトインします。
このエラーに関する問題もプロジェクトGitHubにあります:https://github.com/Automattic/mongoose/issues/8156
私の場合、レプリカセットまたはシャードクラスターでMongooseを使用していませんが、オプションはfalseである必要があります。しかし、falseの場合、設定はtrueである必要があると文句を言います。一度真になると、それでも機能しません。おそらく、私のデータベースがレプリカセットまたはシャードクラスターで実行されていないためです。
5.6.13にダウングレードしましたが、プロジェクトは正常に機能しています。したがって、今のところ私が目にしている唯一のオプションは、ダウングレードして、修正が新しいバージョンに更新されるのを待つことです。