问题是 - 当您的应用程序运行时强制您的副本集停止时,所有主流Mongo客户端将为每个连接抛出至少一个例外。发生这种情况是因为他们的数据库连接硬连线到以前是主服务器的物理服务器,并且不再接受查询。因此,虽然MongoDB架构师可能认为StepDown进程不会产生任何停机时间,但实际上如果您根据文档处理连接,每次降低都会导致至少一个用户完全崩溃,甚至可能创建数据完整性问题。我希望,这可以通过一个简单的包装器来避免,该包装器捕获一些特定的Mongo异常并通过自动重新连接到副本集来处理它们,并重新运行失败的查询。如果您已经有解决方案,请分享!我对与Node.JS的任何主要Mongo驱动程序一起使用的解决方案特别感兴趣。