2017-05-05 184 views
1

當我鍵入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 

我需要訪問我的數據庫集合,

任何幫助將不勝感激!

回答

1

默認情況下,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 
1

看起來你需要創建/數據/ DB文件夾

嘗試在終端做這個

sudo mkdir /data/db

然後啓動MongoDB的

+0

哪裏得到這一信息?在我的項目文件夾?請你能解釋一下更具體的嗎? –

+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

相關問題