我是使用MEAN Stack构建应用程序的新手,我正在try 构建一个实时聊天应用程序,以下是我的服务器端:

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也在等待连接.但当我用 node 服务器运行服务器时.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

连接字符串的模式为mongodb://<HOSTNAME>:<PORT>/<DBNAME>

参考文章:https://mongodb.github.io/node-mongodb-native/api-generated/mongoclient.html#mongoclient-connect

Mongodb相关问答推荐

数组中字符串的Mongo查询集合和推送到新数组嵌套对象

Mongoose 聚合和多级组

(MongoDB)在同一管道中结合联合和交集

如何在mongodb中级联删除文档?

mongoose中的 required是什么意思?

NodeJS + MongoDB:使用 findOne () 从集合中获取数据

如何在 Mongoose 中定义一个通用的嵌套对象

解析命令行时出错:unrecognized option --rest

findOneAndUpdate 和 findOneAndReplace 有什么区别?

.insertOne 不是函数

更新 mongoengine 中的嵌入文档列表

NoSql 参考数据

使用管道聚合的 Spring Data MongoDB 查找

请按语法排序 Mongoid Scope

无法从 MongoDb C# 中的 BsonType ObjectId 反序列化字符串

MongoDB 日志(log)文件和 oplog 有何不同?

用于嵌入式集合的 MongoDB 首选模式.文档与数组

如何在mongoDB中检索其值以特定字符结尾的文档

试图从 mongoose 获取Collection 列表

findOneAndUpdate 中的文档未更新