Solucionado (ver solução)
Solucionado
(ver solução)
5
respostas

Dúvida no Ex. 7 da Aula 9 - Cordão umbilical servidor e banco

Pessoal, até agora o projeto estava tudo ok. Porém, na tentativa de conexão com o banco MongoDB, exibe um erro no terminal:

C:\Alura\alurapic\node_modules\mongoose\node_modules\mongodb\lib\server.js:235
        process.nextTick(function() { throw err; })
                                      ^
 Error: connect ECONNREFUSED 127.0.0.1:27017
    at Object.exports._errnoException (util.js:874:11)
    at exports._exceptionWithHostPort (util.js:897:20)
    at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1063:14)

npm ERR! Windows_NT 6.3.9600
npm ERR! argv "C:\\Program Files\\nodejs\\node.exe" "C:\\Program Files\\nodejs\\
node_modules\\npm\\bin\\npm-cli.js" "start"
npm ERR! node v4.2.3
npm ERR! npm  v2.14.7
npm ERR! code ELIFECYCLE
npm ERR! alurapic@1.0.0 start: `node server.js`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the alurapic@1.0.0 start script 'node server.js'.
npm ERR! This is most likely a problem with the alurapic package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR!     node server.js
npm ERR! You can get their info via:
npm ERR!     npm owner ls alurapic
npm ERR! There is likely additional logging output above.

npm ERR! Please include the following file with any support request:
npm ERR!     C:\Alura\alurapic\npm-debug.log

Os códigos para server.js e database.js estão assim (idênticos aos que são passados na aula):

//server.js

var http = require('http');
var app = require('./config/express');

require('./config/database');

http.createServer(app)
.listen(3000, function() {
    console.log('Servidor iniciado');
});

//database.js

var mongoose = require('mongoose');

mongoose.connect('mongodb://localhost/alurapic');

mongoose.connection.on('connected', function() {
    console.log('Conectado ao MongoDB')
});

Estou rodando em Windows 8.1, e o MongoDB possui seu diretório em C:/mongodb/, e o projeto do alurapic está em C:/Alura/alurapic/.

Onde será que está o problema?

5 respostas

A mensagem de erro diz que ele se recusou a se conectar com o banco. Sendo assim, é quase 100% de chance de ser problema na instalação do MongoDB. Para saber se é realmente o banco que está com problema, abra seu terminal favorito e digite:

mongo

Tem que ser exibida a mensagem parecida com:

MongoDB shell version: 3.2.3
connecting to: test
>

Vi que você usa Windows e a má notícia é que a equipe do MongoDB marginaliza essa plataforma e o suporte não é um dos melhores.

Se o problema é na instalação do MongoDB, sugiro recorrer à própria documentação da equipe do mongoDB que viera e mexe é atualizada. Segue o link da documentação:

https://docs.mongodb.org/v3.0/tutorial/install-mongodb-on-windows/#install-mongodb

Peço que dê uma olhada e veja que consegue instalar seguindo a documentação. Aguardo seu feedback para ver se temo um plano b.

A responsabilidade não é sua, é da equipe do MongoDB mesmo, que poderia criar um instalador melhorzinho.

solução!

Flavio,

Obrigado pela pronta resposta! O comando que vc me passou não estava retornando nada... Daí, estranhei o comportamento do MongoDB e voltei no doc de instalação, antes de tentar reinstalar o serviço. E percebi que havia esquecido de executar o comando para tornar o Mongo um serviço do Windows:

sc.exe create MongoDB binPath= "C:\mongodb\bin\mongod.exe --service --config=\"C:\mongodb\mongod.cfg\"" DisplayName= "MongoDB" start= "auto"

Com este comando, o MongoDB inicializa com o SO. O que estava acontenecendo é que não estava rodando! Agora está ok!

Obrigado!

Excelente Airton! Agora é continuar com os estudos!

Passei pelos mesmos problemas e a única solução que funcionou pra mim foi rodar o comando mongod num terminal à parte e só então iniciar o servidor.

Pessoal. Também apanhei um pouco no windows. Só consegui resolver depois de seguir os passos desse video - https://www.youtube.com/watch?v=sBdaRlgb4N8&feature=youtu.be&t=120