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、Python写的一个简易HTTP静态文件服务器
Jul 18 NodeJs
NodeJS学习笔记之Http模块
Jan 13 NodeJs
详解nodejs 文本操作模块-fs模块(一)
Dec 22 NodeJs
nodejs中全局变量的实例解析
Mar 07 NodeJs
nodejs个人博客开发第一步 准备工作
Apr 12 NodeJs
ajax +NodeJS 实现图片上传实例
Jun 06 NodeJs
nodejs模块学习之connect解析
Jul 05 NodeJs
Nodejs+express+ejs简单使用实例代码
Sep 18 NodeJs
nodejs 图片预览和上传的示例代码
Sep 30 NodeJs
详解Nodejs get获取远程服务器接口数据
Mar 26 NodeJs
nodejs二进制与Buffer的介绍与使用
Jul 11 NodeJs
关于NodeJS中的循环引用详解
Jul 23 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
先进的自动咖啡技术,真的可以取代咖啡师吗?
2021/03/06 冲泡冲煮
smarty section简介与用法分析
2008/10/03 PHP
php 正则 过滤html 的超链接
2009/06/02 PHP
php过滤XSS攻击的函数
2013/11/12 PHP
PHP+MySQL之Insert Into数据插入用法分析
2015/09/27 PHP
利用php做服务器和web前端的界面进行交互
2016/10/31 PHP
Zend Framework入门教程之Zend_Registry组件用法详解
2016/12/09 PHP
使用新的消息弹出框blackbirdjs
2008/10/16 Javascript
jQuery技巧总结
2011/01/01 Javascript
关于JQuery($.load)事件的用法和分析
2013/04/09 Javascript
js生成的验证码的实现与技术分析
2014/09/17 Javascript
JavaScript bold方法入门实例(把指定文字显示为粗体)
2014/10/17 Javascript
基于JS实现Android,iOS一个手势动画效果
2016/04/27 Javascript
js前端解决跨域问题的8种方案(最新最全)
2016/11/18 Javascript
JavaScript 网页中实现一个计算当年还剩多少时间的倒数计时程序
2017/01/25 Javascript
纯JS实现可用于页码更换的飞页特效示例
2018/05/21 Javascript
用react-redux实现react组件之间数据共享的方法
2018/06/08 Javascript
Vue中Axios从远程/后台读取数据
2019/01/21 Javascript
python使用BeautifulSoup分页网页中超链接的方法
2015/04/04 Python
python图像常规操作
2017/11/11 Python
python中使用iterrows()对dataframe进行遍历的实例
2018/06/09 Python
Python3利用Dlib实现摄像头实时人脸检测和平铺显示示例
2019/02/21 Python
python实现雪花飘落效果实例讲解
2019/06/18 Python
python计算无向图节点度的实例代码
2019/11/22 Python
Python startswith()和endswith() 方法原理解析
2020/04/28 Python
python + selenium 刷B站播放量的实例代码
2020/06/12 Python
审计工作个人的自我评价
2013/12/25 职场文书
幼儿园健康教育方案
2014/06/14 职场文书
旅游与酒店管理专业求职信
2014/07/21 职场文书
人身损害赔偿协议书格式
2014/11/01 职场文书
平遥古城导游词
2015/02/03 职场文书
辞职信格式模板
2015/02/27 职场文书
小学教师见习总结
2015/06/23 职场文书
2016入党积极分子党校培训心得体会
2016/01/06 职场文书
《宝可梦》动画制作25周年到来 官方发布特别纪念视频
2022/04/01 日漫
Mysql中mvcc各场景理解应用
2022/08/05 MySQL