连接到远程 mongoDB 服务器

Ale*_*x K 5 remote-access mongodb

我有一台远程机器,我使用 SSH 连接到它,我在它上面安装了 mongoDB,我希望远程使用它,我如何使用 nodejs 和 mongoDB 指南针连接到它?本地主机是 IP 吗?

const db = "mongodb://what do I write here?";
const connectDB = async () => {
  try {
    await mongoose.connect(db, { useNewUrlParser: true, useCreateIndex: true });
    console.log("MongoDB Connected...");
  } catch (err) {
    console.error(err.message);
    process.exit(1);
  }
};
connectDB();
Run Code Online (Sandbox Code Playgroud)

Pra*_*yal 9

简答

登录到你的机器,打开MongoDB的配置文件位于/etc/mongod.conf 和更改bindIp场到你的机器的IP地址(它是您正在使用ssh到你的机器的IP地址相同),即重启MongoDB的服务器后。


详细解答

如果您运行的是服务器版本,那么您可以使用vi 编辑器命令

    sudo vi /etc/mongod.conf
Run Code Online (Sandbox Code Playgroud)
  • 该文件应包含以下类型的内容:

      systemLog:
          destination: file
          path: "/var/log/mongodb/mongod.log"
          logAppend: true
      storage:
          journal:
              enabled: true
      processManagement:
          fork: true
      net:
          bindIp: 127.0.0.1  // enter your ip address here
          port: 27017
      setParameter:
          enableLocalhostAuthBypass: false
    
    Run Code Online (Sandbox Code Playgroud)
  • 更改后bindIp,您必须使用以下命令重新启动 mongodb

      sudo service mongod restart
    
    Run Code Online (Sandbox Code Playgroud)
  • 现在您将能够连接到 mongodb 服务器,使用与您用于 ssh 到您的系统的 IP 地址相同的 IP 地址。

      mongoose.connect('mongodb://<machine_ip_address>:27017/<database_name>')
    
    Run Code Online (Sandbox Code Playgroud)