2014-07-12 17 views
15

Mam problem z połączeniem z MonodeDB z NodeJS przy użyciu następującego kodu przykładowego. Próbowałem uruchomić "mongod" z lub bez sudo, ale kod nodejs nadal nie łączy się. Jestem w stanie połączyć się z bazą danych za pomocą "mongo".[Błąd: nie można połączyć się z [localhost: 27017]] z NodeJS do mongodb

Running on: MAC OS 10.6.8

var mongoClient = require('mongodb').MongoClient; 
    mongoClient.connect("mongodb://localhost:27017/test", function(error, db) { 
     if(!error){ 
      console.log("We are connected"); 
     } 
     else 
      console.dir(error); 
    }); 

uzyskać następujący błąd pracuje nad kodem: [Błąd: nie udało się połączyć [localhost: 27017]]

próbował także mangusta ale podobny błąd:

var mongoose = require('mongoose'); 
    mongoose.connect('mongodb://localhost/test'); 
    var db = mongoose.connection; 
    db.on('error', console.error.bind(console, 'connection error:')); 
    db.once('open', function callback() { 
      console.log("DB connected"); 
    // yay! 
    }); 

wyjściowe: błąd połączenia: [błąd: nie udało się połączyć [localhost: 27017]]

Oto dziennik mongod

mongod --help for help and startup options 
2014-07-11T23:33:47.843-0700 kern.sched unavailable 
2014-07-11T23:33:47.849-0700 [initandlisten] MongoDB starting : pid=29942 port=27017 dbpath=/data/db 64-bit host=usc8bcc8a0d0b1 
2014-07-11T23:33:47.849-0700 [initandlisten] 
2014-07-11T23:33:47.849-0700 [initandlisten] ** WARNING: soft rlimits too low. Number of files is 256, should be at least 1000 
2014-07-11T23:33:47.849-0700 [initandlisten] db version v2.6.3 
2014-07-11T23:33:47.849-0700 [initandlisten] git version: nogitversion 
2014-07-11T23:33:47.849-0700 [initandlisten] build info: Darwin usc8bcc8a0d0b1 10.8.0 Darwin Kernel Version 10.8.0: Tue Jun 7 16:33:36 PDT 2011; root:xnu-1504.15.3~1/RELEASE_I386 i386 BOOST_LIB_VERSION=1_49 
2014-07-11T23:33:47.849-0700 [initandlisten] allocator: system 
2014-07-11T23:33:47.849-0700 [initandlisten] options: {} 
2014-07-11T23:33:47.850-0700 [initandlisten] journal dir=/data/db/journal 
2014-07-11T23:33:47.850-0700 [initandlisten] recover : no journal files present, no recovery needed 
2014-07-11T23:33:47.901-0700 [initandlisten] waiting for connections on port 27017 
2014-07-11T23:34:47.901-0700 [clientcursormon] mem (MB) res:48 virt:2810 
2014-07-11T23:34:47.901-0700 [clientcursormon] mapped (incl journal view):320 
2014-07-11T23:34:47.901-0700 [clientcursormon] connections:0 

Odpowiedz

18

Nieważne udało mi się rozwiązać ten problem za pomocą 127.0.0.1 zamiast localhost, nie wiem dlaczego muszę używać adresu IP. Mój tomcat, apache, redis, a nawet serwer węzłowy działają na localhost, ale nie na mongodb. Czy istnieje konfiguracja, którą potrzebuję zmienić, aby działała z hostem lokalnym?

+0

Ten pracował dla mnie. – jensanity5000

+0

TAK! Użyłem 127.0.0.1 w mojej konfiguracji apache, która była wcześniej localhost i jest natychmiast połączona. Dziękuję Ci! – Andy

4

spróbuj dodać 127.0.0.1 localhost w /private/etc/hosts pliku.

+0

To jest dokładnie mój problem. Skomentowałem "127.0.0.1 localhost" w moim pliku hosts. –

0

Po raz pierwszy popełniłem oczywisty błąd, że mongod (serwer mongo) nawet nie działał.

Po raz drugi miałem zarówno serwer (mongod) i klienta (mongo) uruchomiony na moim systemie Windows; w osobnych wierszach poleceń (oczywiście mongo działa jako pierwszy). mongod i/lub jego Command Prompt został „zawieszony” (czyli ostatnia linia mówi tylko to, a ostatnia linia pozostawała tak pomimo prób połączeń :)

2017-06-20T12:31:02.937-0600 I NETWORK [thread1] waiting for connections on port 27017 

kliknąłem w wierszu poleceń nacisnął przestrzeń -bar do "kopnięcia", a wiersz polecenia wyświetlił takie linie:

2017-06-20T12:31:48.517-0600 I NETWORK [thread1] connection accepted from 127.0.0.1:50260 #1 (1 connection now open) 

Który zadziałał!

1

tak, natknąłem się na ten błąd też, i moi gospodarze jest następująca: 127.0.0.1 xxxxxx(the ip of my computer) a kiedy wpadłem npm start w wyraźnej projektu, to masz błąd takiego. Po tym, jak próbowałem zmienić mapowanie 127.0.0.1 na localhost, nie wystąpił błąd.

+0

Thxnks man !!!!! – leegod

Powiązane problemy