如何使用 mongoose 包从我的 Node.js 和 Express 服务器连接到 mongo atlas

问题描述 投票:0回答:1

标题:MongoDB Atlas 连接问题 - ETIMEDOUT 错误

身体:

我在尝试将 Express 服务器连接到 MongoDB Atlas 时遇到问题,我正在寻求帮助,因为我已经用尽了多种解决方案。这是相关的代码片段:

require('dotenv').config();
const mongoose = require('mongoose');
const uri = process.env.MONGODB_URI;

const connectDB = mongoose.createConnection(uri, {
    useNewUrlParser: true,
    useUnifiedTopology: true
});

const UserSchema = require('../models/User');
const taskSchema = require('../models/Task');
const projectSchema = require('../models/Project');
const MessageSchema = require('../models/Message');

const User = connectDB.model('User', UserSchema);
const Task = connectDB.model('Task', taskSchema);
const Project = connectDB.model('Project', projectSchema);
const Message = connectDB.model('Message', MessageSchema);

module.exports = { connectDB, User, Task, Project, Message };

我面临的错误如下:

const timeoutError = new error_1.MongoServerSelectionError(`Server selection timed out after ${serverSelectionTimeoutMS} ms`, this.description);
                                     ^

MongoServerSelectionError: connect ETIMEDOUT 13.37.173.41:27017

我不知道如何解决这个问题,我尝试了 chatgpt 提供给我的所有解决方案以及 youtube 解决方案,如果有人遇到同样的问题,请为我提供解决方案

node.js mongodb express mongoose connection
1个回答
0
投票

首先将连接命令保留在“try-catch”块中,以便您可以获得正确的错误消息。检查您的防火墙是否阻止了某些内容。搜索它的解决方案。仅今天,我就完成了此操作,并在下面分享我的连接代码(如果有帮助的话):

try {
    const connect = await mongoose.connect(process.env.CONNECTION_STRING);
    console.log("Databse Connected With HOST: ",
        connect.connection.host       
    );
    console.log("Databse Connected With NAME: ",connect.connection.name);
} catch (error) {
    console.log("Connection Error: ", error);
    process.exit(1);
}
© www.soinside.com 2019 - 2024. All rights reserved.