【发布时间】:2018-03-13 09:29:05
【问题描述】:
我正在使用 NodeJS 和 MongoDB,使用 mongodb 包。当我运行 mongod 命令时,它工作正常并给出“等待端口 27017 上的连接”。所以, mongod 似乎正在工作。但是当我运行 node index.js 命令时,MongoClient 不起作用并给出错误-
MongoError: failed to connect to server [localhost:27017] on first connect [MongoError: connect ECONNREFUSED 127.0.0.1:27017]
我已经安装了 mongo db 3.4,我的代码是-
var MongoClient = require('mongodb').MongoClient;
var dburl = "mongodb://localhost:27017/test";
MongoClient.connect(dburl, function(err, db) {
if (err) {
throw err;
}
console.log('db connected');
db.close();
});
我在 root 上创建了 data/db 目录并授予了写权限。 mongod.conf 文件采用 db 路径作为-
存储: dbPath: /var/lib/mongo
但似乎它实际上将 db 路径作为 data/db 而不是 var/lib/mongo
它早些时候工作,但突然停止。
【问题讨论】:
-
进入位置 C:\Program Files\MongoDB\Server\3.4\bin 并运行 mongod.exe 并重试
-
谢谢。但我在亚马逊 linux 服务器上。如何在那里测试?
-
用 127.0.0.1 替换 localhost 并尝试。不确定结果,但请尝试更新我们。并尝试从终端运行以下命令,sudo service mongod start
-
我已经试过了,没用。 sudo service mongod start 给出错误 - 启动 mongod(通过 systemctl):mongod.service 的作业失败,因为控制进程退出并出现错误代码。详见“systemctl status mongod.service”和“journalctl -xe”。
-
我真的很惊讶有多少答案提供了 Windows 解决方案(他们甚至获得了最高评价),尽管这个问题显然是指 Linux。