首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >MongoDB -错误:架构无效,应为mongodb

MongoDB -错误:架构无效,应为mongodb
EN

Stack Overflow用户
提问于 2016-03-05 19:34:35
回答 8查看 48.9K关注 0票数 41

我是用MEAN构建应用程序的新手,我正在尝试构建一个实时聊天应用程序,这是我的服务器端:

代码语言:javascript
复制
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创建了一个名为chat的数据库,mongo也在等待连接。但是,当我使用节点server.js运行服务器时,出现了一个错误:

代码语言:javascript
复制
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>

我在这个阶段已经被封锁了几个星期了,有人能在这方面提供帮助吗?

谢谢。

EN

回答 8

Stack Overflow用户

回答已采纳

发布于 2016-03-05 19:39:44

这是因为您使用的连接字符串的格式不正确。

您正在使用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

票数 121
EN

Stack Overflow用户

发布于 2016-05-10 02:47:02

我也遇到了这个问题,这是因为我把协议搞错了:

代码语言:javascript
复制
mongo://localhost:27017/test

协议错误也可能导致此错误。应该是这样的:

代码语言:javascript
复制
mongodb://localhost:27017/test
票数 7
EN

Stack Overflow用户

发布于 2017-05-13 21:22:11

有时,错误可能与环境变量的引号有关。移除它们一次,然后尝试。也许能帮上忙。

错误可能是:

代码语言:javascript
复制
 set DATABASE_URI='mongodb://localhost:1000/my_app' && node index.js

正确的命令应该是:

代码语言:javascript
复制
  set DATABASE_URI=mongodb://localhost:1000/my_app && node index.js
票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35813584

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档