2017-03-02 3 views
0

Haben Sie Probleme eine Verbindung zu MongoDB, da ich die folgende Störung erhalte, wenn ich node app.js laufen:Fehler beim zu MongoDB = MongoError Anschluss: fehlgeschlagen Server [localhost: 27017], um eine Verbindung auf der ersten Verbindung

Express server listening on port 30000 

/Users/Wilo/Desktop/myway_stuff/myway_app/MyWay/server/node_modules/mongodb/lib/mongo_client.js:336 
      throw err 
     ^
MongoError: failed to connect to server [localhost:27017] on first connect 
    at Pool.<anonymous> (/Users/Wilo/Desktop/myway_stuff/myway_app/MyWay/server/node_modules/mongodb-core/lib/topologies/server.js:326:35) 
    at emitOne (events.js:96:13) 
    at Pool.emit (events.js:188:7) 
    at Connection.<anonymous> (/Users/Wilo/Desktop/myway_stuff/myway_app/MyWay/server/node_modules/mongodb-core/lib/connection/pool.js:270:12) 
    at Connection.g (events.js:291:16) 
    at emitTwo (events.js:106:13) 
    at Connection.emit (events.js:191:7) 
    at Socket.<anonymous> (/Users/Wilo/Desktop/myway_stuff/myway_app/MyWay/server/node_modules/mongodb-core/lib/connection/connection.js:175:49) 
    at Socket.g (events.js:291:16) 
    at emitOne (events.js:96:13) 
    at Socket.emit (events.js:188:7) 
    at emitErrorNT (net.js:1276:8) 
    at _combinedTickCallback (internal/process/next_tick.js:74:11) 
    at process._tickCallback (internal/process/next_tick.js:98:9) 

Dies ist meine app.js Datei:

var express = require('express'), 
    bodyParser = require('body-parser'), 
    cookieParser = require('cookie-parser'), 
    mongoose = require('mongoose'), 
    expressSession = require('express-session'), 
    MongoStore = require('connect-mongo')(expressSession), 
    accountRoutes = require('./routes/account'), 
    // bookingRoutes = require('./routes/bookings'), 
    app = express(), 
    port = 30000; 

var dbName = 'mywayDB'; 
var connectionString = 'mongodb://localhost:27017/' + dbName; 

mongoose.connect(connectionString); 

app.use(expressSession({ 
    secret: '128013A7-5B9F-4CC0-BD9E-4480B2D3EFE9', 
    resave: true, 
    saveUninitialized: true, 
    store: new MongoStore({ 
     url: 'mongodb://localhost/test-app', 
     ttl: 20 * 24 * 60 * 60 // = 20 days. 
    }) 
})); 

app.use(bodyParser.json()); 
app.use(bodyParser.urlencoded({ extended: true })); 
app.use('/api', [accountRoutes]); 

var server = app.listen(port, function() { 
    console.log('Express server listening on port ' + server.address().port); 
}); 

Nun, wenn ich mongod im Terminal laufen, ist dies die folgenden Fehler erhalte ich:

2017-03-01T12:10:01.888-0800 I CONTROL [initandlisten] MongoDB starting : pid=4545 port=27017 dbpath=/data/db 64-bit host=WiLos-MacBook-Pro.local 
2017-03-01T12:10:01.889-0800 I CONTROL [initandlisten] db version v3.4.2 
2017-03-01T12:10:01.889-0800 I CONTROL [initandlisten] git version: 3f76e40c105fc223b3e5aac3e20dcd026b83b38b 
2017-03-01T12:10:01.889-0800 I CONTROL [initandlisten] OpenSSL version: OpenSSL 1.0.2k 26 Jan 2017 
2017-03-01T12:10:01.889-0800 I CONTROL [initandlisten] allocator: system 
2017-03-01T12:10:01.889-0800 I CONTROL [initandlisten] modules: none 
2017-03-01T12:10:01.889-0800 I CONTROL [initandlisten] build environment: 
2017-03-01T12:10:01.889-0800 I CONTROL [initandlisten]  distarch: x86_64 
2017-03-01T12:10:01.889-0800 I CONTROL [initandlisten]  target_arch: x86_64 
2017-03-01T12:10:01.889-0800 I CONTROL [initandlisten] options: {} 
2017-03-01T12:10:01.889-0800 I STORAGE [initandlisten] exception in initAndListen: 20 Attempted to create a lock file on a read-only directory: /data/db, terminating 
2017-03-01T12:10:01.889-0800 I NETWORK [initandlisten] shutdown: going to close listening sockets... 
2017-03-01T12:10:01.890-0800 I NETWORK [initandlisten] shutdown: going to flush diaglog... 
2017-03-01T12:10:01.890-0800 I CONTROL [initandlisten] now exiting 
2017-03-01T12:10:01.890-0800 I CONTROL [initandlisten] shutting down with code:100 

Ich habe bereits einen /data/db Ordner und hinzugefügt, um die folgenden Exporte in meine .bash_profile:

export MONGO_PATH=/usr/local/Cellar/mongodb/3.4.2 
export PATH=$PATH:$MONGO_PATH/bin 

Eine weitere zusätzliche Informationen ist, dass ich MongoDB über Brew installiert.

Ich würde jede mögliche Hilfe mit diesem schätzen. Vielen Dank!

Antwort

2
2017-03-01T12:10:01.889-0800 I STORAGE [initandlisten] exception in initAndListen: 20 Attempted to create a lock file on a read-only directory: /data/db, terminating 

Sie haben auch eine .lock-Datei erstellen aufgrund der begrenzten Berechtigungen des /data/db Ordner. Sie könnten das entweder selbst erstellen oder einen --dbpath für einen Ordner festlegen, auf den der aktuelle Benutzer Zugriff hat.

Hier ist ein similar answer on SO

+0

Da Sie erwähnt, dass ich Jave nicht die ‚.lock‘ Datei erstellt, musste ich einfach ‚mongod‘ mit ‚sudo‘ laufen und es funktionierte. Vielen Dank! –

Verwandte Themen