MongoError:无法连接到服务器[本地主机:27017]

MongoError:无法连接到服务器[本地主机:27017]

问题描述:

当我键入node server.js它返回我这个错误MongoError:无法连接到服务器[本地主机:27017]

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) 

**

当我在命令行中键入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 COMM并给了我这个错误

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 : 
[email protected]/mongo/shell/mongo.js:237:13 
@(connect):1:6 
exception: connect failed 

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

任何帮助将不胜感激!

默认情况下,Mongo将数据写入/ data文件夹,并且运行mongo服务的用户无权创建/ 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 

看起来你需要创建/数据/ DB文件夹

尝试在终端做这个

sudo mkdir /data/db

然后启动MongoDB的

+0

哪里得到这一信息?在我的项目文件夹?请你能解释一下更具体的吗? –

+0

不,它会在您的机器的根目录中。如果你只是打开终端,并输入命令,就像我在任何目录的答案中一样,它会工作 –

首轮mongod.exe如果它给出了关于不安全停机,度量,诊断的任何警告,忽略它们并运行mongo.exe in a nother CLI(命令行界面)。

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

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

$蒙戈
MongoDB的外壳版本v3.4.4
连接到:MongoDB的://127.0.0.1:27017
MongoDB的服务器版本:3.4.4
使用YourAwesomeDatabaseName
切换到DB YourAwesomeDatabaseName

你已准备好出发!

+0

好主意,帮助我 – ahmedbhs