美文网首页
阿里云服务器连不上阿里云MongoDB内网链接?

阿里云服务器连不上阿里云MongoDB内网链接?

作者: 秋天下雨淋湿冬天 | 来源:发表于2023-08-15 17:48 被阅读0次

    背景:

    应运维要求,要把所有的阿里云MongoDB公网链接改为内网链接,
    操作是就是把

    host: 'dds-xxxa-pub.mongodb.rds.aliyuncs.com'
    改为
    host: 'dds-xxxb.mongodb.rds.aliyuncs.com'
    

    其他项目基本替换一下链接就完成了。
    只有一个项目,切换之后连接不上,提示30秒超时。

    踩坑经历:

    换个服务器还是不行,排除了服务器的问题;
    换个MongoDB密码还是不行,排除了密码的问题;
    那就定位是这个项目的框架有问题了。

    然后,抽离一个MongoDB链接的最小版本,发现还是有问题,代码如下:testdb.cjs

    // 导入所需的模块
    const mongoose = require('mongoose');
    
    // 定义数据库连接地址
    const dbUrl = 'mongodb://localhost:27017/mydatabase';
    
    // 连接数据库
    mongoose.connect(dbUrl, { useNewUrlParser: true, useUnifiedTopology: true })
      .then(() => {
        console.log('成功连接到数据库');
        
        // 定义Detail表结构
        const detailSchema = new mongoose.Schema({
          name: String,
          age: Number,
          email: String
        });
    
        // 创建Detail模型(相当于数据表)
        const Detail = mongoose.model('Detail', detailSchema);
    
        // 创建一条新的数据
        const newDetail = new Detail({
          name: 'John Doe',
          age: 25,
          email: 'johndoe@example.com'
        });
    
        // 保存数据到数据库
        newDetail.save()
          .then(() => {
            console.log('数据保存成功');
            // 关闭数据库连接
            mongoose.connection.close();
          })
          .catch(error => {
            console.error('保存时发生错误:', error);
            // 关闭数据库连接
            mongoose.connection.close();
          });
      })
      .catch(error => {
        console.error('数据库连接失败:', error);
      });
    
    

    执行 node testdb.cjs

    还是不生效,已经放弃了。
    后来把这个文件放到其他项目,居然可以生效?!

    所以,定位到是mongoose在node代码中的版本问题;


    image.png

    升级版本,好了,over!

    相关文章

      网友评论

          本文标题:阿里云服务器连不上阿里云MongoDB内网链接?

          本文链接:https://www.haomeiwen.com/subject/nlihmdtx.html