[英]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.