我是使用 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);
});
});
});
我确信我创建了一个名为 chat with 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>
我在这个阶段被封锁了好几个星期,有人可以帮忙吗?
谢谢。
原文由 Ahmed202 发布,翻译遵循 CC BY-SA 4.0 许可协议
这是因为您使用的连接字符串格式不正确。
您正在使用
localhost:27017/db/chat
而它应该是mongodb://localhost:27017/db/chat
连接字符串的模式是
mongodb://<HOSTNAME>:<PORT>/<DBNAME>
文章供参考: https ://mongodb.github.io/node-mongodb-native/api-generated/mongoclient.html#mongoclient-connect