Discord.js 猫鼬连接失败

Posted

技术标签:

【中文标题】Discord.js 猫鼬连接失败【英文标题】:Discord.js mongoose connection failed 【发布时间】:2021-10-25 17:30:55 【问题描述】:

我使用 discord.js 成为了不和谐机器人。 我试图运行它,但它不起作用。 这是连接到猫鼬。 我正在使用 MongoDB 版本 5.13.7,Discord.js 版本 13.1.0。 有人知道如何解决这个错误吗?

这是错误代码

Connection Disconnected!
C:\Users\Users\node_modules\mongodb\lib\core\uri_parser.js:575
    return callback(new MongoParseError('Invalid connection string'));
                    ^

MongoParseError: Invalid connection string
    at parseConnectionString (C:\Users\Users\node_modules\mongodb\lib\core\uri_parser.js:575:21)
    at connect (C:\Users\Users\node_modules\mongodb\lib\operations\connect.js:282:3)
    at C:\Users\Users\node_modules\mongodb\lib\mongo_client.js:260:5
    at maybePromise (C:\Users\Users\node_modules\mongodb\lib\utils.js:692:3)
    at MongoClient.connect (C:\Users\Users\node_modules\mongodb\lib\mongo_client.js:256:10)
    at C:\Users\Users\node_modules\mongoose\lib\connection.js:835:12
    at new Promise (<anonymous>)
    at NativeConnection.Connection.openUri (C:\Users\Users\node_modules\mongoose\lib\connection.js:832:19)
    at C:\Users\Users\node_modules\mongoose\lib\index.js:351:10
    at C:\Users\Users\node_modules\mongoose\lib\helpers\promiseOrCallback.js:32:5
    at new Promise (<anonymous>)
    at promiseOrCallback (C:\Users\Users\node_modules\mongoose\lib\helpers\promiseOrCallback.js:31:10)
    at Mongoose._promiseOrCallback (C:\Users\Users\node_modules\mongoose\lib\index.js:1149:10)
    at Mongoose.connect (C:\Users\Users\node_modules\mongoose\lib\index.js:350:20)
    at Object.init (C:\Users\Users\Downloads\SkyHigh\structures\mongoose.js:16:9)
    at SkyHigh.start (C:\Users\Users\Downloads\SkyHigh\structures\SkyHigh.js:39:23)

这是我的源代码

let  connect, Promise, connection  = require('mongoose');

module.exports = 
    init: () => 
        const dbOptions = 
            useCreateIndex: true,
            useNewUrlParser: true,
            useUnifiedTopology: true,
            autoIndex: false,
            useFindAndModify: false,
            family: 4,
            poolSize: 5,
            connectTimeoutMS: 10000
        ;

        connect('', dbOptions);
        Promise = global.Promise;

        connection.on('connected', () => 
            console.log('Connected to MongoDB Successfully!');
        );

        connection.on('err', err => 
            console.error(`Error Occured From MongoDB: \n$err.message`);
        );

        connection.on('disconnected', () => 
            console.warn('Connection Disconnected!');
        );
    
;

【问题讨论】:

您似乎忘记将 MongoDB 连接 URL 放入您的 connect('', dbOptions) 调用中 【参考方案1】:

这个问题与 discord.js 无关。您似乎忘记将连接 URI 放入您的 connect('', dbOptions) 调用中。您应该将本地或 atlas 连接字符串放入 connect('', dbOptions) 调用。

示例

connect("mongodb://localhost:27020/mydb", dbOptions);

【讨论】:

以上是关于Discord.js 猫鼬连接失败的主要内容,如果未能解决你的问题,请参考以下文章

执行查找查询时如何使猫鼬失败

Discord.js 机器人的 Heroku 构建失败

我的不和谐机器人上的数据库(Discord.js + mysql)

重启后下拉失败 - discord.js

Discord.js,API 调用失败

添加特定 unicode 表情时,Discord.js message.react 失败