NodeJS连接MongoDB数据库时报错的快速解决方法


Posted in NodeJs onMay 13, 2016

今天第一次尝试连接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.就可以启动成功了!

以上这篇NodeJS连接MongoDB数据库时报错的快速解决方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

NodeJs 相关文章推荐
用nodejs访问ActiveX对象,以操作Access数据库为例。
Dec 15 NodeJs
如何正确使用Nodejs 的 c++ module 链接到 OpenSSL
Aug 03 NodeJs
nodejs教程之环境安装及运行
Nov 21 NodeJs
Nodejs如何搭建Web服务器
Mar 28 NodeJs
nodejs 的 session 简单使用
Jun 06 NodeJs
3分钟快速搭建nodejs本地服务器方法运行测试html/js
Apr 01 NodeJs
详解nodejs微信公众号开发——5.素材管理接口
Apr 11 NodeJs
nodejs入门教程一:概念与用法简介
Apr 24 NodeJs
NodeJs的fs读写删除移动监听
Apr 28 NodeJs
NodeJs使用Mysql模块实现事务处理实例
May 31 NodeJs
如何利用nodejs实现命令行游戏
Nov 24 NodeJs
Node.js实现爬取网站图片的示例代码
Apr 04 NodeJs
Nodejs获取网络数据并生成Excel表格
Mar 31 #NodeJs
Nodejs学习item【入门手上】
May 05 #NodeJs
NodeJS的Promise的用法解析
May 05 #NodeJs
Windows 系统下设置Nodejs NPM全局路径
Apr 26 #NodeJs
Nodejs Stream 数据流使用手册
Apr 17 #NodeJs
NodeJS创建基础应用并应用模板引擎
Apr 12 #NodeJs
nodeJs爬虫获取数据简单实现代码
Mar 29 #NodeJs
You might like
windows下升级PHP到5.3.3的过程及注意事项
2010/10/12 PHP
兼容性比较好的PHP生成缩略图的代码
2011/01/12 PHP
PHP结合jquery ajax实现上传多张图片,并限制图片大小操作示例
2019/03/01 PHP
Laravel配置全局公共函数的方法步骤
2019/05/09 PHP
JS获取DropDownList的value值与text值的示例代码
2014/01/07 Javascript
node.js中使用q.js实现api的promise化
2014/09/17 Javascript
JavaScript中匿名函数用法实例
2015/03/23 Javascript
浅谈JavaScript中的字符编码转换问题
2015/07/07 Javascript
一道JS前端闭包面试题解析
2015/12/25 Javascript
如何使用jquery修改css中带有!important的样式属性
2016/04/28 Javascript
浅谈JS之tagNaem和nodeName
2016/09/13 Javascript
javaScript 事件绑定、事件冒泡、事件捕获和事件执行顺序整理总结
2016/10/10 Javascript
jquery中用jsonp实现搜索框功能
2016/10/18 Javascript
JS实现前端缓存的方法
2017/09/21 Javascript
node.js通过axios实现网络请求的方法
2018/03/05 Javascript
vue项目中添加单元测试的方法
2018/07/21 Javascript
vue插件--仿微信小程序showModel实现模态提示窗功能
2020/08/19 Javascript
vue基于Echarts的拖拽数据可视化功能实现
2020/12/04 Vue.js
python处理cookie详解
2014/02/07 Python
Python编写百度贴吧的简单爬虫
2015/04/02 Python
Python聊天室程序(基础版)
2018/04/01 Python
python 提取tuple类型值中json格式的key值方法
2018/12/31 Python
python 获取utc时间转化为本地时间的方法
2018/12/31 Python
python通过实例讲解反射机制
2019/10/17 Python
基于Python和PyYAML读取yaml配置文件数据
2020/01/13 Python
Python转换itertools.chain对象为数组的方法
2020/02/07 Python
Python decorator拦截器代码实例解析
2020/04/04 Python
Python docutils文档编译过程方法解析
2020/06/23 Python
在Pytorch中使用Mask R-CNN进行实例分割操作
2020/06/24 Python
Python将list元素转存为CSV文件的实现
2020/11/16 Python
css3模拟jq点击事件的实例代码
2017/07/06 HTML / CSS
平面网站制作专科生的自我评价分享
2013/12/11 职场文书
中秋节主持词
2014/04/02 职场文书
英文演讲稿开场白
2014/08/25 职场文书
2014年保育员工作总结
2014/12/02 职场文书
户外拓展训练感想
2015/08/07 职场文书