我有一个运行 MongoDB 4.0.1 和 Docker 版本 17.03.2-ce 的个人 AWS 服务器,构建 f5ec1e2 我刚刚获得了最新版本的node.js (10.9)
我可以使用 Compass 连接、查看和编辑 MongoDB 上的文档。
当我在开发计算机上运行 Node.js 时,我可以使用 postman 来获取和发布。 当我构建 docker 容器并在 AWS docker postman 上运行它时,返回 ECONNREFUSED。
//index.js
const express = require('express');
const cors = require('cors');
// set up express app
const app = express();
app.use(cors());
app.use(express.json());
//initialize routes - set router to
app.use('/database', require('./routes/recipes'));
// listen for requests
const PORT = 4000;
const HOST = '0.0.0.0';
app.listen(PORT, HOST, function () {
console.log('now listening for requests');
});
//recipes.js
const express = require('express');
const router = express.Router();
const MongoClient = require('mongodb');
const url = 'mongodb://localhost:27017';
//const url = 'mongodb://localhost/local';
// get a list of recipes
router.get('/recipes', function (req, res) {
...
最佳答案
将 localhost 替换为 AWS 私有(private) IP 地址,而不是公共(public) IP 地址或公共(public) url。
const url = 'mongodb://localhost:27017';
关于node.js - mongodb 4.0.1 ECONNREFUSED 在开发计算机上的 Node.js 中工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52018756/