2017-05-05 1 views
1

Wenn ich node server.js gebe es gibt mir diese FehlermeldungMongoError: failed auf Server [localhost: 27017] verbinden

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) 

**

Wenn ich in der Befehlszeile eingeben mongod es gibt mir diese

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 

**

jedoch die mongo comm und gibt mir diesen Fehler

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 

Ich muss meine Datenbank Sammlungen zuzugreifen,

Jede Hilfe wird geschätzt!

Antwort

1

Mongo schreibt standardmäßig Daten in den Ordner/data, und der Benutzer, der den mongo-Dienst ausführt, hat keine Berechtigung zum Erstellen eines Datenordners.

Sie können diese Informationen aus diesem Protokoll Schnipsel erhalten

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... 

Also, Sie brauchen diese

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

Sieht aus wie Sie die/data/db Ordner

versuchen, dies zu tun im Terminal

sudo mkdir /data/db

dann starten mongodb

+0

zu tun, wo? In meinem Projektordner? bitte kannst du es genauer erklären? –

+0

Nein, es wäre im Stammverzeichnis Ihres Rechners. Wenn Sie einfach das Terminal öffnen und den Befehl eingeben, so wie ich es in meiner Antwort von jedem Verzeichnis habe, wird es funktionieren –

0

ersten Lauf mongod.exe erstellen müssen Wenn Es gibt Warnungen zu unsicheren Abschaltvorgängen, Metriken, Diagnosen ignorieren sie und führen mongo.exe in a Nother CLI (Befehlszeilenschnittstelle).

Auch dann, wenn es nicht funktioniert, sichern Sie einfach die ../data/db Verzeichnisse und wiederholen Sie die Datenbank.

Bevor Sie die Datenbank mit einem Datenbanktreiber (zB: mongoose, mongojs) aufrufen, stellen Sie sicher, dass die Datenbank läuft und läuft.

$ Mongo
MongoDB Shell-Version v3.4.4
Anschluss an: mongodb: //127.0.0.1: 27017
MongoDB-Server-Version: 3.4.4
Verwendung YourAwesomeDatabaseName
geschaltet YourAwesomeDatabaseName

db Du bist startklar!

+0

gute Idee, hat mir geholfen – ahmedbhs

Verwandte Themen