更新mongodb依赖项后出现警告
我已经安装了winston mongodb的最新版本。我注意到来自winston mongodb的更新mongodb依赖项后出现警告,mongodb,mongoose,Mongodb,Mongoose,我已经安装了winston mongodb的最新版本。我注意到来自winston mongodb的mongodb包的mongodb版本已从1.6.6版本更新为2.0.7版本。更新后,我收到此警告: 服务器/replset/mongos选项已弃用,它们的所有选项 在选项对象的顶层支持 [poolSize、ssl、sslValidate、sslCA、sslCert、sslKey、sslPass、autoReconnect、noDelay、keepAlive、connectTimeoutMS、sock
mongodb
包的mongodb
版本已从1.6.6
版本更新为2.0.7
版本。更新后,我收到此警告
:
服务器/replset/mongos选项已弃用,它们的所有选项
在选项对象的顶层支持
[poolSize、ssl、sslValidate、sslCA、sslCert、sslKey、sslPass、autoReconnect、noDelay、keepAlive、connectTimeoutMS、socketTimeoutMS、Reconnectries、reconnectInterval、ha、haInterval、ReplicateSet、Secondary acceptableLatencyMS、acceptableLatencyMS、connectWithNoPrimary、authSource、w、WTTimeout、j、forceServerObjectId、Serialized函数、ignoreUndefined、raw、promoteLongs、bufferMaxEntries、readPreference、pkFactory、promiseLibrary、readConcern、maxStalenessSeconds、loggerLevel、logger、promoteValues、promoteBuffers、promoteLongs、domainsEnabled、keepAliveInitialDelay、checkServerIdentity、validateOptions]
我怎样才能解决这个问题?有什么想法吗?我也注意到了这一点。
这似乎是一个非致命的错误,因为这个问题已经结束。请参阅:。 我测试了: mongodb@2.2.24-在您报告时发出警告!!! mongodb@2.2.23-死于错误。 mongodb@2.2.22-无警告,工作正常 因此,我建议现在安装verson 2.2.22,看看会不会出现问题。这就是我所做的——因为我不喜欢看到警告。
我希望这有帮助。根据错误消息
服务器/replset/mongos选项已弃用,它们的所有选项都在options对象的顶层受支持
因此,问题的解决方案是简单地将设置选项从服务器、replset、socketOptions、mongos和任何其他层次结构选项移动到对象的顶层
mongoose.connect( 'mongodb://localhost/db',
{
useMongoClient: true,
server: {
ssl: true,
socketOptions: {
keepAlive: 300000,
connectTimeoutMS: 30000
},
auto_reconnect: true,
reconnectTries: 300000,
reconnectInterval: 5000
},
promiseLibrary: global.Promise
}
);
change it to;
mongoose.connect( 'mongodb://localhost/db',
{
useMongoClient: true,
poolSize: 2,
ssl: true,
keepAlive: 300000,
connectTimeoutMS: 30000,
autoReconnect: true,
reconnectTries: 300000,
reconnectInterval: 5000,
promiseLibrary: global.Promise
}
);
希望有帮助!
谢谢,如果从4.x升级到5.x,并且没有使用4.x中的useMongoClient选项,您可能会看到以下弃用警告: 服务器/replset/mongos选项已弃用,它们的所有选项都在options对象的顶层受支持 在旧版本的MongoDB驱动程序中,您必须为服务器连接、副本集连接和mongos连接指定不同的选项:
mongoose.connect(myUri, {
server: {
socketOptions: {
socketTimeoutMS: 0,
keepAlive: true
},
reconnectTries: 30
},
replset: {
socketOptions: {
socketTimeoutMS: 0,
keepAlive: true
},
reconnectTries: 30
},
mongos: {
socketOptions: {
socketTimeoutMS: 0,
keepAlive: true
},
reconnectTries: 30
}
});
在MongooseV5.x中,您可以在顶层声明这些选项,而无需所有额外的嵌套
// Equivalent to the above code
mongoose.connect(myUri, {
socketTimeoutMS: 0,
keepAlive: true,
reconnectTries: 30
});
资料来源:正式文件