首页 > 解决方案 > Mongoose 警告 Util 命令

问题描述

const mongoose = require('mongoose');
module.exports = {
    init: () => {
        const dbOptions = {
            useNewUrlParser: true,
            useUnifiedTopology: true,
            autoIndex: false,
            reconnectTries: Number.MAX_VALUE,
            reconnectInterval: 500,
            poolSize: 5,
            connectTimeoutMS: 10000,
            family:4
        };

        mongoose.connect('mongodb+srv://admin:secret@chika.xbf6o.mongodb.net/guilds?retryWrites=true&w=majority', dbOptions);
        mongoose.set('useFindAndModify', false);
        mongoose.Promise = global.Promise;

        mongoose.connection.on('connected', () => {
            console.log('Mongoose bağlantısı başarılı!');
        });

        mongoose.connection.on('err', err => {
            console.error(`Mongoose bağlantı hatası: \n${err.stack}`);
        });

        mongoose.connection.on('disconnected', () => {
            console.warn('Mongoose bağlantısı kayboldu');
});
}}

这是我的 mongoose util 命令,但我收到此警告我该怎么办

(node:18476) DeprecationWarning: 'reconnectTries' 选项与统一拓扑不兼容,请访问http://mongodb.github.io/node-mongodb-native/3.3/reference/unified-topology/了解更多信息

(node:18476) DeprecationWarning: 选项 'reconnectInterval' 与统一拓扑不兼容,请访问http://mongodb.github.io/node-mongodb-native/3.3/reference/unified-topology/了解更多信息

标签: javascriptnode.jsdatabasemongodb

解决方案


如果您查看Mongoose 文档,您会看到只有在没有统一拓扑的情况下运行时才重要的选项(如 autoReconnect、connectTimeoutMS、reconnectTries、reconnectInterval 等)。

reconnectTries - 如果您连接到单个服务器或 mongos 代理(而不是副本集),MongoDB 驱动程序将尝试重新连接每个 reconnectInterval 毫秒的 reconnectTries 时间,然后放弃。当驱动程序放弃时,猫鼬连接会发出一个 reconnectFailed 事件。此选项对副本集连接没有任何作用。

dbOptions您可以通过删除这些已弃用的选项来更新您的对象。


推荐阅读