nodejs node example node.js mongodb mean-stack

node.js - example - find mongodb nodejs



esquema inválido, mongodb esperado (6)

Soy nuevo en la creación de aplicaciones con MEAN Stack, estoy tratando de construir una aplicación de chat en tiempo real, aquí está mi servidor:

console.log("Server running...!"); var mongo=require(''mongodb'').MongoClient; var client=require(''socket.io'').listen(8080).sockets; mongo.connect(''localhost:27017/db/chat'',function(err,db){ if(err) throw err; client.on(''connection'',function(socket){ console.log(''someone has connected !''); //waiting for input socket.on(''input'',function(data){ console.log(data); }); }); });

Estoy seguro de que creé una base de datos llamada chat con mongodb, también mongo está esperando la conexión. Pero cuando ejecuto el servidor con node server.js se produce un error:

Server running...! C:/Users/azus/Desktop/Psirt/codemaster/node_modules/ mongodb/lib/url_parser.js:20 throw new Error(''invalid schema, expected mongodb''); ^ Error: invalid schema, expected mongodb at module.exports (C:/Users/azus/Desktop/Psirt/code-master/node_modules/mong odb/lib/url_parser.js:20:11) at connect (C:/Users/azus/Desktop/Psirt/code-master/node_modules/mongodb/lib /mongo_client.js:125:16) at Function.MongoClient.connect (C:/Users/azus/Desktop/Psirt/code-master/nod e_modules/mongodb/lib/mongo_client.js:109:3) at Object.<anonymous> (C:/Users/azus/Desktop/Psirt/code-master/server.js:6:8 ) at Module._compile (module.js:413:34) at Object.Module._extensions..js (module.js:422:10) at Module.load (module.js:357:32) at Function.Module._load (module.js:314:12) at Function.Module.runMain (module.js:447:10) at startup (node.js:139:18) C:/Users/azus/Desktop/Psirt/code-master>

Me habían bloqueado en esta fase durante semanas, cualquier ayuda, por favor.


A veces, el error puede estar en las comillas de las variables de entorno. Quítalos una vez y prueba. Podría ayudar.

El error podría estar con:

set DATABASE_URI=''mongodb://localhost:1000/my_app'' && node index.js

El comando correcto será:

set DATABASE_URI=mongodb://localhost:1000/my_app && node index.js



Intenta esto, funciona:

mongoose.connect(''mongodb://localhost:27017/shopping'');


Puede parecer obvio, pero también encontrará este error cuando pase valores no válidos en general al cliente de Mongo, por ejemplo, undefined . Me encontré con esto cuando estaba haciendo referencia a la clave incorrecta en un objeto de configuración.


Solo resolví el mismo problema. Las malditas ventanas guardan citas en el entorno.

Por lo tanto, si usa Windows y escribe de esta manera SET MONGO_URL="mongodb://localhost:27017/{name of your db}" No es correcto.

La forma correcta es SET MONGO_URL=mongodb://localhost:27017/{name of your db} sin comillas.

También descubrí que debes escribir el protocolo exactamente - mongodb. Hay un código que verifica el protocolo del archivo url_parser.js

var result = parser.parse(url, true); if(result.protocol != ''mongodb:'') { throw new Error(''invalid schema, expected mongodb''); }


También tuve este problema y fue porque tenía el protocolo incorrecto:

mongo://localhost:27017/test

Si el protocolo es incorrecto también puede causar este error. Debería ser así:

mongodb://localhost:27017/test