当前位置: 首页 > 面试题库 >

MongoDB-错误:无效的架构,预期的mongodb

申屠飞
2023-03-14
问题内容

我是使用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

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

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



 类似资料:
  • 问题内容: 我一直在关注Sass教程。由于某些原因,尽管Sass文件无法正确生成css。终端说css是无效的,但我敢肯定不是。我也尝试过更改它,以防万一出现问题… 我做错了什么? Sass版本:Sass 3.1.10 错误信息: .sass文件内容: 问题答案: 根据您的错误消息(),我可以告诉您正在使用扩展名的Scss文件。将文件名更改为。 Sass和Scss使用两种不同且不兼容的语法。

  • 问题内容: 我正在尝试遍历此循环: 我在第100,000个以上的记录中收到以下错误。 这个错误是什么意思? 问题答案: 也许光标在服务器上超时了。要查看这是否是问题,请尝试将timeout = False设置为: 参见http://api.mongodb.org/python/1.6/api/pymongo/collection.html#pymongo.collection.Collection

  • 问题内容: 我已经来了一段时间,并阅读了许多有关该主题的网站。怀疑我有垃圾造成了这个问题。但是哪里? 当我在python中导入MySQLdb时,这是错误: 我正在尝试64位,所以在这里检查: 已将python的默认版本设置为2.6 尝试删除构建目录和python setup.py clean重命名为Python / 2.5 / site-packages,使其无法尝试提取它。 删除所有内容,并按照

  • Java运行时环境检测到一个致命错误: 堆栈:[0x01290000,0x012E0000],SP=0x012DF98C,空闲空间=318K本机帧:(J=编译的Java代码,J=解释的,VV=VM代码,C=本机代码)V[jvm.dll+0x190494]V[jvm.dll+0x18A116]V[jvm.dll+0x35D7A]V[jvm.dll+0x4465D]V[jvm.dll+0x4490E]

  • 问题内容: 我正在尝试学习Go,但是坚持使用以下语言:http : //ideone.com/hbCamr或http://ideone.com/OvRw7t 对于此输入: 输出为: 这是预期的行为吗?为什么它不像C ++ getline一样起作用?http://ideone.com/Wx8z5o 问题答案: 答案在以下文档中: Scanln与Scan相似,但是在换行符处停止扫描,并且在最后一个项目

  • 我不断地得到这个错误,我并没有试图解决它。 包bonuscalc; 导入java.text.DecimalFormat;导入java.util.scanner; 公共类BonusCalc{/***@param args命令行参数*/public static void main(String[]args){ }