星空网 > 软件开发 > Java

NodeJS连接MongoDB数据库时报错

今天第一次尝试连接MongoDB数据库,具体步骤也很简单。

首先,通过NodeJS运行环境安装MongoDB包,进入要安装的目录,执行语句

npm install mongodb

安装成功后,通过如下语句测试与数据库建立连接几关闭数据库

var mongo = require('mongodb');var host = "localhost";var port = mongo.Connection.DEFAULT_PORT;//创建MongoDB数据库所在服务器的Server对象var server = new mongo.Server(host, port, {auto_reconnect:true});//创建MongoDB数据库var db = new mongo.Db('node-mongo-example', server, {saft:true});//数据库连接操作db.open(function(err, db){  if(err) {    console.log('连接数据库发生错误');    throw err;}  else{    console.log("成功建立数据库连接");    db.close();  }});db.on('close',function(err,db){  if (err) {throw err;}  else{    console.log("成功关闭数据库");  }});

在node的运行环境中运行以上代码所在文件,出现如下所示错误:

NodeJS连接MongoDB数据库时报错

mongodb数据库的默认端口为27017,所以我把port改成默认的27017,运行文件后,仍然报错,如下所示:

NodeJS连接MongoDB数据库时报错

很显然,错误本身不是端口号属性问题,而是无法连接默认的MongoDB数据库服务,最后终于明白造成以上错误的原因是没有运行数据库服务器的可执行文件。

具体启动方法为:

在运行环境中进入MongoDB的安装位置,进入bin文件夹下,运行如下代码:

D:\Mongodb\bin>mongod --dbpath D:\Mongodb\data  

一般情况下,上面的node.js代码就可以正常运行了

但在最初尝试时,我还遇到过一个问题,就是启动上面的数据库服务器时,在无法启动,在反馈信息中有一条错误为:

2015-12-13T00:49:12.195+0600 I STORAGE [initandlisten] exception in initAndListen: 28663 Cannot start server. The default storage engine 'wiredTiger' is not available with this build of mongod. Please specify a different storage engine explicitly, e.g. --storageEngine=mmapv1., terminating 2015-12-13T00:49:12.195+0600 I CONTROL [initandlisten] dbexit: rc: 100

查找资料发现,这是由于版本冲突造成存储路径的混淆,具体解决方案为在bin目录下运行如下语句:

D:\MongoDB\bin mongod --storageEngine=mmapv1 --dbpath [your-path]

再启动数据库服务就成功了。

可以通过访问http:\\localhost:27017,可以看到如下提示:

It looks like you are trying to access MongoDB over HTTP on the native driver port.

就可以启动成功了!

参考资料:http://chenzhou123520.iteye.com/blog/1582174

              

 




原标题:NodeJS连接MongoDB数据库时报错

关键词:JS

JS
*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。

跨境运输运费:https://www.goluckyvip.com/tag/93227.html
俄罗斯跨境货物运输:https://www.goluckyvip.com/tag/93228.html
跨境电商自发货物流:https://www.goluckyvip.com/tag/93229.html
跨境货代:https://www.goluckyvip.com/tag/93230.html
跨境航空运输:https://www.goluckyvip.com/tag/93231.html
货物跨境运输:https://www.goluckyvip.com/tag/93232.html
深圳西乡三月三北帝庙会的千岁盆菜多少钱:https://www.vstour.cn/a/365180.html
TikTok SEO:TikTok会取代谷歌吗?:https://www.kjdsnews.com/a/1836538.html
相关文章
我的浏览记录
最新相关资讯
海外公司注册 | 跨境电商服务平台 | 深圳旅行社 | 东南亚物流