No puedo conectarme a mi mongodb desde socket.io. Cuando ejecuto mi server.js dice que está conectado con mongodb y que está conectado a un socket pero luego muestra el error
MongoError: not authorized on db to execute command find.Inicié sesión como usuario administrador en la base de datos de administración de mongo, luego fui a la base de datos de "chat" y allí creé un nuevo usuario en la base de datos con el rol "readWrite" como este.
use chaty luego:
db.createUser({user: "testuser", pwd: "testuser", roles: [{role: "readWrite", db: "chat" }]}) Successfully added user: { "user" : "testuser", "roles" : [ { "role" : "readWrite", "db" : "chat" } ] } El usuario se crea. Y cuando lo pruebo con db.auth("testuser","testuser") obtengo un 1. Luego salgo y voy a mi carpeta bin y allí escribo: mongo.exe -u testuser -p testuser chat;
Y luego se conecta a mongodb://127.0.0.1:127017/chat
Luego abro un nuevo aviso y voy a mi carpeta donde tengo el server.js que se conecta con el db y lo ejecuto, luego dice primero que el servidor se está ejecutando y que está conectado con el mongodb.
Cuando voy a mi página de chat y la cargo, dice que: MongoError no autorizado...
Conecto mi archivo server.js así
var port = process.env.PORT || 3000; server.listen(port); console.log('Server running *:'+port); var io = require('socket.io').listen(server); var mongoose = require('mongoose'); //mongoose.connect('mongodb://127.0.0.1:27017/chat', function(err){ mongoose.connect('mongodb://localhost/chat', function(err){No sé lo que me estoy perdiendo, seguí los documentos en mongodb y busqué por toda la red, pero no estoy seguro de dónde me equivoqué.
Cualquier entrada realmente apreciada gracias.
Cuando cargo la página de chat y miro en la consola, aparece este error.
https://manmade.se:3000/socket.io/?EIO=3&transport=polling&t=Lceu0Ot&sid=wbFhDl7yylt4_4a1AAAA net::ERR_CONNECTION_RESET index_webb.html:1 WebSocket connection to 'wss://manmade.se:3000/socket.io/?EIO=3&transport=websocket&sid=wbFhDl7yylt4_4a1AAAA' failed: WebSocket is closed before the connection is established.El error parece sugerir que a través de su programa no se está autenticando en la base de datos correcta.
Al conectarse desde el shell, en su caso particular, esto daría como resultado un error:
mongo -u test -p testtendrías que especificar la base de datos de chat:
mongo chat -u test -p testNo creo que sea un error de socket porque se está conectando, el mensaje de error parece sugerir que simplemente no se está autenticando en la base de datos correcta (en este caso, la base de datos de chat)