我是使用MEAN Stack构建应用程序的新手,我正在尝试构建实时聊天应用程序,这是我的服务器端:
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); }); }); });
我确定我创建了一个与mongodb聊天的数据库,mongo也正在等待连接。但是当我使用节点server.js运行服务器时,会发生错误:
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>
在这个阶段,我被封锁了几个星期,有人可以帮忙吗?
谢谢。
这是因为您使用的连接字符串格式不正确。
您正在使用localhost:27017/db/chat它应该是mongodb://localhost:27017/db/chat
localhost:27017/db/chat
mongodb://localhost:27017/db/chat
连接字符串的模式是 mongodb://<HOSTNAME>:<PORT>/<DBNAME>
mongodb://<HOSTNAME>:<PORT>/<DBNAME>
供参考的文章:https : //mongodb.github.io/node- mongodb-native/api-genic/mongoclient.html#mongoclient- connect