更新资料
Mongoose 5.7.1已发布,似乎可以解决该问题,因此
useUnifiedTopology可以按预期设置选件。
mongoose.connect(mongoConnectionString, {useNewUrlParser: true, useUnifiedTopology: true});原始答案
我遇到了同样的问题,并决定深入研究猫鼬代码:https
:
//github.com/Automattic/mongoose/search?
q
=
useUnifiedTopology
&
unscoped_q
=
useUnifiedTopology
似乎是在Mongoose
5.7版本上添加的一个选项,并且尚未有充分的文档记录。我什至找不到它在图书馆历史记录中提到的https://github.com/Automattic/mongoose/blob/master/History.md
根据代码中的注释:
- @param {Boolean} [options.useUnifiedTopology =
false]默认情况下为False。设置为true选择加入MongoDB驱动程序的副本集和分片群集监视引擎。
关于此错误,项目GitHub上也存在一个问题:https
:
//github.com/Automattic/mongoose/issues/8156
就我而言,尽管选项应该为false,但我不会在副本集或分片群集中使用Mongoose。但是如果为假,它会抱怨设置应该为真。一旦为真,它仍然不起作用,可能是因为我的数据库未在副本集或分片群集上运行。
我已降级为5.6.13,并且我的项目恢复正常。因此,我目前唯一看到的选择是将其降级,然后等待更新更新。



