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中实现路由功能
Dec 29 NodeJs
async/await与promise(nodejs中的异步操作问题)
Mar 03 NodeJs
初识NodeJS服务端开发入门(Express+MySQL)
Apr 07 NodeJs
nodejs中解决异步嵌套循环和循环嵌套异步的问题
Jul 12 NodeJs
NodeJs实现定时任务的示例代码
Dec 05 NodeJs
nodejs微信扫码支付功能实现
Feb 17 NodeJs
详解Nodejs内存治理
May 13 NodeJs
修改Nodejs内置的npm默认配置路径方法
May 13 NodeJs
Nodejs实现多文件夹文件同步
Oct 17 NodeJs
nodejs搭建本地服务器并访问文件操作示例
May 11 NodeJs
nodejs简单抓包工具使用详解
Aug 23 NodeJs
使用nodeJS中的fs模块对文件及目录进行读写,删除,追加,等操作详解
Feb 06 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
常用PHP框架功能对照表
2014/10/23 PHP
php递归json类实例
2014/12/02 PHP
php菜单/评论数据递归分级算法的实现方法
2019/08/01 PHP
php use和include区别总结
2019/10/13 PHP
js的with语句使用方法
2007/09/21 Javascript
用 Javascript 验证表单(form)中多选框(checkbox)值
2009/09/08 Javascript
改进UCHOME的记录发布,增强可访问性用户体验
2011/01/17 Javascript
单击复制文字兼容各浏览器的完美解决方案
2013/07/04 Javascript
Angularjs全局变量被作用域监听的正确姿势
2016/02/06 Javascript
原生JS实现网络彩票投注效果
2016/09/25 Javascript
Node.js服务器开启Gzip压缩教程
2017/08/11 Javascript
js异步上传多张图片插件的使用方法
2018/10/22 Javascript
vue ssr 实现方式(学习笔记)
2019/01/18 Javascript
js 下拉菜单点击旁边收起实现(踩坑记)
2019/09/29 Javascript
一篇文章带你使用Typescript封装一个Vue组件(简单易懂)
2020/06/05 Javascript
js+for循环实现字符串自动转义的代码(把后面的字符替换前面的字符)
2020/12/24 Javascript
[47:22]Mineski vs Winstrike 2018国际邀请赛小组赛BO2 第二场 8.16
2018/08/17 DOTA
[01:13:46]iG vs Winstrike 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/17 DOTA
[51:26]VP vs VG 2018国际邀请赛小组赛BO2 第二场 8.19
2018/08/21 DOTA
[41:17]VG vs Optic 2018国际邀请赛小组赛BO2 第二场 8.19
2018/08/21 DOTA
window下eclipse安装python插件教程
2017/04/24 Python
Tornado Web Server框架编写简易Python服务器
2018/07/28 Python
浅谈python3.x pool.map()方法的实质
2019/01/16 Python
Django Python 获取请求头信息Content-Range的方法
2019/08/06 Python
python matplotlib库绘制散点图例题解析
2019/08/10 Python
pytorch 模型可视化的例子
2019/08/17 Python
python爬虫添加请求头代码实例
2019/12/28 Python
Jupyter notebook 远程配置及SSL加密教程
2020/04/14 Python
Bobbi Brown芭比波朗美国官网:化妆师专业彩妆保养品品牌
2016/08/18 全球购物
Oracle性能调优原则
2012/05/03 面试题
高分子材料个人求职信范文
2013/09/25 职场文书
互联网创业计划书的书写步骤
2014/01/28 职场文书
我爱幼儿园演讲稿
2014/09/11 职场文书
爱情保证书
2015/01/17 职场文书
教师节联欢会主持词
2015/07/04 职场文书
JavaScript中reduce()的用法
2022/05/11 Javascript