MongoDB端口在服务器重启时更改

时间:2018-01-25 03:23:16

标签: mongodb

我使用mongodb指南针通过ssh连接到mongodb,但我发现数据库端口是29694,我不知道它来自哪里。

在node.js中,我只能通过该端口的ssh连接到数据库。

当我重新启动服务器时,我发现端口正在改变。

如截图所示: enter image description here

我用来连接数据库的代码:

var config = {
    username: 'root',
    host:'118.XXX.XXX.X',
    port:22,
    dstHost: '118.XXX.XXX.X',
    dstPort: 27017,
    passphrase: 'XXXX'
};

(async ()=>{
    try {
        await tunnel(config)
        await mongoose.connect('mongodb://localhost:29694/xxxxx')
    }
    catch(e){
        console.log(`${e}`)
    }
    await console.log('connected')
})()

我真的刚刚开始编程。我不知道问题出在哪里。

1 个答案:

答案 0 :(得分:0)

我想出来了。对不起,我缺乏一些基本的SSH知识。

正确的代码是:

var config = {
    username: 'root',
    password: 'xxxx',
    host:'118.xxx.xxx.xxx',
    port:22,
    dstHost: '127.0.0.1',
    dstPort: 27017,
    localHost:'127.0.0.1',
    localPort:27000
};

(async ()=>{
    try {
        await tunnel(config)
        await mongoose.connect('mongodb://localhost:27000/xxxx')
    }
    catch(e){
        console.log(`${e}`)
    }
})()

我发现this article对我了解ssh端口转发非常有帮助。