我在一台具有 3 个实例的计算机上设置了一个简单的副本集。如果所有 3 个实例都在运行,我可以在 mongosh 中使用 rs.status() 检查状态,但是,如果我停止其中一个实例,我将无法再检查状态,因为我收到错误。即使我通过 Nodejs 服务器中的 mongoose 执行此操作,每当我尝试获取副本集状态时,它都会直接跳转到标题中的异常。
我尝试过:
db.system.profile.find({}, {}, {enableUtf8Validation: false})
但没有成功。
在我的 Nodejs 服务器中,我尝试通过这条线进行连接:
mongoose.connect("mongodb://127.0.0.1:27017,127.0.0.1:27018,127.0.0.1:27019/term_point?replicaSet=rs0", { family: 4, enableUtf8Validation: false});
它连接到数据库,但当我尝试获取状态时,我仍然遇到相同的异常。
如何解决这个问题?非常感谢!
不确定这是否是原因,但我的计算机的区域设置是西班牙语,但是,计算机名称、用户名都是英语(在某处读到他们在不同的地方遇到了相同的错误,因为他们的计算机名称在其中一个有重音)字母)。
长话短说;如果操作系统的语言不是英语,mongodb 会讨厌它。