Cloud9 工作区 MongoDb 连接

Cloude9 workspace MongoDb connection

我在 c9.io ide 的 nodejs 项目中工作。因为我正在尝试连接到 mongodb 数据库。我已经安装了 mongodb 模块。

在命令提示符下我可以 运行 mongodb 命令如

use database db.inventory.find()

为了在应用程序中利用 Mongodb,我在 server.js 文件中编写了以下代码

//MongoDB
var MongoClient = require('mongodb').MongoClient;
MongoClient.connect("mongodb://" + process.env.IP + ":" + process.env.PORT + "/[dbname]", function (err, db) {
    if (!err) {
        console.log("Mongo Connected.");
    } else {
        console.log("Mongo not Connectd");
    }
});

但是在 运行ning Server.js 文件之后,我得到的输出是

Mongo not Connected

我已经输出了 err 变量 -- 它打印了

{ [MongoError: server 0.0.0.0:8080 sockets closed]
  name: 'MongoError',
  message: 'server 0.0.0.0:8080 sockets closed' }

让我知道我做错了什么?

求助Cloude 9 Support,回复如下

You should change the line that says:

`MongoClient.connect("mongodb://" + process.env.IP + ":" + process.env.PORT + "/[dbname]", function (err, db){ `

You are connecting to `process.env.PORT`, but that is not the port for mongodb.
Simply use the default connection url here, it should work: 

`mongodb://localhost:27017/[dbname]`

mongodb://" + process.env.IP + ":" + process.env.PORT + "/[dbname] 更改为 mongodb://localhost:27017/[dbname] 解决了问题