MongoError:无法连接到服务器

当我键入node server.js它返回我这个错误

 MongoError: failed to connect to server [localhost:27017] on first connect [MongoError: connect ECONNREFUSED 127.0.0.1:27017] at Pool.<anonymous> (/home/islam/workspace/project/node_modules/mongoose/node_modules/mongodb-core/lib/topologies/server.js:327:35) at emitOne (events.js:96:13) at Pool.emit (events.js:191:7) at Connection.<anonymous> (/home/islam/workspace/project/node_modules/mongoose/node_modules/mongodb-core/lib/connection/pool.js:274:12) at Object.onceWrapper (events.js:293:19) at emitTwo (events.js:106:13) at Connection.emit (events.js:194:7) at Socket.<anonymous> (/home/islam/workspace/project/node_modules/mongoose/node_modules/mongodb-core/lib/connection/connection.js:177:49) at Object.onceWrapper (events.js:293:19) at emitOne (events.js:96:13) at Socket.emit (events.js:191:7) at emitErrorNT (net.js:1283:8) at _combinedTickCallback (internal/process/next_tick.js:80:11) at process._tickCallback (internal/process/next_tick.js:104:9) 

**

当我input命令行mongod它返回我这个

  2017-05-05T23:33:06.816+0600 I CONTROL [initandlisten] MongoDB starting : pid=24805 port=27017 dbpath=/data/db 64-bit host=user 2017-05-05T23:33:06.816+0600 I CONTROL [initandlisten] db version v3.4.4 2017-05-05T23:33:06.816+0600 I CONTROL [initandlisten] git version: 888390515874a9debd1b6c5d36559ca86b44babd 2017-05-05T23:33:06.816+0600 I CONTROL [initandlisten] OpenSSL version: OpenSSL 1.0.2g 1 Mar 2016 2017-05-05T23:33:06.816+0600 I CONTROL [initandlisten] allocator: tcmalloc 2017-05-05T23:33:06.816+0600 I CONTROL [initandlisten] modules: none 2017-05-05T23:33:06.816+0600 I CONTROL [initandlisten] build environment: 2017-05-05T23:33:06.816+0600 I CONTROL [initandlisten] distmod: ubuntu1604 2017-05-05T23:33:06.816+0600 I CONTROL [initandlisten] distarch: x86_64 2017-05-05T23:33:06.816+0600 I CONTROL [initandlisten] target_arch: x86_64 2017-05-05T23:33:06.816+0600 I CONTROL [initandlisten] options: {} 2017-05-05T23:33:06.816+0600 I STORAGE [initandlisten] exception in initAndListen: 29 Data directory /data/db not found., terminating 2017-05-05T23:33:06.816+0600 I NETWORK [initandlisten] shutdown: going to close listening sockets... 2017-05-05T23:33:06.816+0600 I NETWORK [initandlisten] shutdown: going to flush diaglog... 2017-05-05T23:33:06.816+0600 I CONTROL [initandlisten] now exiting 2017-05-05T23:33:06.816+0600 I CONTROL [initandlisten] shutting down with code:100 

**

然而, mongo命令给我这个错误

  MongoDB shell version v3.4.4 connecting to: mongodb://127.0.0.1:27017 2017-05-05T23:34:21.724+0600 W NETWORK [thread1] Failed to connect to 127.0.0.1:27017, in(checking socket for error after poll), reason: Connection refused 2017-05-05T23:34:21.724+0600 E QUERY [thread1] Error: couldn't connect to server 127.0.0.1:27017, connection attempt failed : connect@src/mongo/shell/mongo.js:237:13 @(connect):1:6 exception: connect failed 

我需要访问我的数据库集合,

任何帮助将不胜感激!

Mongo默认将数据写入/ data文件夹,运行mongo服务的用户无权创build/ data文件夹。

您可以从此日志片段中获取此信息

 2017-05-05T23:33:06.816+0600 I STORAGE [initandlisten] exception in initAndListen: 29 Data directory /data/db not found., terminating 2017-05-05T23:33:06.816+0600 I NETWORK [initandlisten] shutdown: going to close listening sockets... 

所以,你需要这样做

 sudo mkdir /data/db sudo chown $USER -R /data/db # give permission to the user who is running mongo service 

看起来你需要创build/ data / db文件夹

尝试在terminal上做这个

sudo mkdir /data/db

然后启动mongodb

首先运行mongod.exe如果它给出了关于不安全closures的任何警告,则度量,诊断将忽略它们并在另一个 CLI(命令行界面)中运行mongo.exe

即使如果它不起作用,只需备份../data/db目录并重做数据库。

在使用数据库驱动程序(例如:mongoose,mongojs)访问数据库之前,请确保数据库已启动并正在运行。

$ mongo
MongoDB shell版本v3.4.4
连接到:mongodb://127.0.0.1:27017
MongoDB服务器版本:3.4.4
使用YourAwesomeDatabaseName
切换到数据库YourAwesomeDatabaseName

你已准备好出发!