MongoError: failed to connect to server [localhost:27017] on first connect (ECONNREFUSED)

MongoError: failed to connect to server [localhost:27017] on first connect (ECONNREFUSED)

我刚刚将 MongoDB 添加到使用 npm init 命令创建的 Node.js 项目的依赖项中。我的 index.js 代码是:

var MongoClient = require('mongodb').MongoClient
, assert = require('assert');

// Connection URL
var url = 'mongodb://localhost:27017/mydatabase';

// Use connect method to connect to the server
MongoClient.connect(url, function(err, db) {
assert.equal(null, err);
console.log("Connected successfully to server");

db.close();
});

但是当我执行代码时它抛出以下错误:

AssertionError: null == { MongoError: failed to connect to server [localhost:27017] on first connect [MongoError: connect ECONNREFUSED 127.0.0.1:27017]

我真的不知道怎么解决。我按照一些指南报告了同样的错误,但我无法修复它。

我应该在我的调制解调器上打开一个端口吗?我应该用我的 IP 替换 "localhost" 吗?我还应该做些什么吗?

请帮帮我!

更新:

我在我的 Android 设备上安装了一个 MongoDB 服务器,并将 url 变量替换为 mongodb://ANDROID-DEVICE-LOCAL-IP:27017/mydatabase 现在可以使用了。

我怎样才能将数据库放在我的计算机上?防火墙是否阻止传入连接?这就是它适用于 Android 但不适用于 Windows 的原因吗?

制作一个类似config.js

的配置文件
module.exports = {
    'secretKey': '12345-67890-09876-54321',
    'mongoUrl' : 'mongodb://localhost:27017/cubs'
}

并在您的服务器代码中要求该文件

var config = require('./config');
var mongoose = require('mongoose');
mongoose.connect(config.mongoUrl);
var db = mongoose.connection;
db.on('error', console.error.bind(console, 'connection error:'));
db.once('open', function () {
    console.log("Connected correctly to server");
});

我解决了这个问题!

我在 cmd 中 运行 mongod -dbpath "MY-PATH" 现在它可以工作了。

发生错误是因为没有任何内容正在侦听 27017 端口。现在 mongod 程序正在侦听该端口上的连接,因此不再拒绝来自我的项目的连接。