2016-03-05 18 views
18

Jestem nowy w budowaniu aplikacji ze średnią Stos, próbuję zbudować aplikację czat w czasie rzeczywistym, tu jest mój po stronie serwera:nieprawidłowy schemat oczekuje MongoDB

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); 
}); 

}); 

}); 

Jestem pewien, że stworzył baza danych o nazwie chat with mongodb, również mongo czeka na połączenie. Ale kiedy uruchomić serwer z węzłem server.js wystąpi błąd:

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> 

I zostały zablokowane na tym etapie przez kilka tygodni, każda pomoc proszę

+0

może być następujący starą samouczek lub dokumentacji. To działało, ale zmieniło się w wymagające mongody: // –

Odpowiedz

3

prostu miałem ten problem, jak również i to dlatego, że miała złe Protokół:

mongo://localhost:27017/test 

Błędny protokół może również powodować ten błąd. Powinno być tak:

mongodb://localhost:27017/test 
1

Czasami błąd może dotyczyć cytatów dotyczących zmiennych środowiskowych. Usuń je raz i spróbuj. Może pomóc.

Błąd może być z:

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

Poprawna komenda będzie:

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

Wydaje się, że tak jest w przypadku Windowsa przynajmniej 10, nie testowałem innych systemów. Dzięki! – user25794

0

może wydawać się oczywiste, ale można także spotkać ten błąd, gdy przechodzą nieprawidłowe wartości w ogóle do Mongo klient, np undefined. Pobiegł do tego, kiedy odwoływał się niewłaściwy klucz na obiekcie config.

-1

Spróbuj tego, to działa:

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