簡體   English   中英

如何使用 mongo/mongoose 連接遠程數據庫

[英]How to use mongo/mongoose to connect to a remote database

我在 IP 中有一個節點 js 應用程序,例如:111.111.111.23:3000 我想從本地 express/node 應用程序腳本連接到遠程 mongodb 數據庫。 數據庫在上面提到的 IP 中運行,但由於某種原因,我所能做的就是連接到我的本地 mongodb 數據庫。

if (app.get('env') === 'development') {
    app.use(function (err, req, res, next) {
        res.status(err.status || 500);
        res.render('error', {
            message: err.message,
            error: err
        });
    });

    mongoose.connect('mongodb://localhost/test');
}

上面的代碼在我的 app.js 中,它可以工作,但我想做的是這樣的。

if (app.get('env') === 'development') {
    app.use(function (err, req, res, next) {
        res.status(err.status || 500);
        res.render('error', {
            message: err.message,
            error: err
        });
    });

    mongoose.connect('mongodb:111.111.111.23:27017/test');
}

我嘗試添加帶有和不帶有端口的 ip,但它失敗了。

我的問題是如何從本地計算機連接到遠程數據庫?

萬一這有幫助。 The remote server is running ubuntu server 14.04 and I installed mongodb using this guide: https://docs.mongodb.org/manual/tutorial/install-mongodb-on-ubuntu/

我收到以下錯誤:

錯誤:連接 ECONNREFUSED 111.111.111.23:27017

貓鼬連接格式是:

mongoose.connect('mongodb://username:password@host:port/database')

如果您沒有用戶名和密碼,請執行:

mongoose.connect('mongodb://host:port/database');

資料來源: http//mongoosejs.com/docs/connections.html

您還可以嘗試使用mongo客戶端進行連接,看看它是否有效..

$ mongo 111.111.111.23:27017

此外,但不太可能,請確保您的mongod服務已啟動。

$ sudo service mongod start

Finnaly,確保您的防火牆已關閉或使用以下命令打開端口:

$ iptables -A INPUT -p tcp --dport 27017 -j ACCEPT

這是我的代碼,仍然有錯誤: 錯誤

E:\nodeJs>node mongoDBApi.js

E:\nodeJs\node_modules\mongodb\lib\mongo_client.js:792
          throw err;
          ^
[object Object]

代碼

var MongoClient = require('mongodb').MongoClient;
var url = 'mongodb://xxxx:xxxx@192.168.11.14:22/';


MongoClient.connect(url, function(err, db) {
  if (err) throw err;
  var dbo = db.db("cdb");
  dbo.collection("ccollection").findOne({}, function(err, result) {
    if (err) throw err;
    console.info(result.name);
    db.close();
  });
});

代碼:

const mongoose = require("mongoose");
const DbConnector = () => {
  const DbConnectStr = process.env.MONGODB_URL;
  mongoose.connect( DbConnectStr,
{
useNewUrlParser: true,
useUnifiedTopology: true
},
(err) => {
if (err) console.log(err);
else console.log("Database Connected");
}
);
};
module.exports = { DbConnector };

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM