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服务器(10):处理上传图片
Dec 18 NodeJs
NodeJs的优势和适合开发的程序
Aug 14 NodeJs
nodejs的HTML分析利器node-jquery用法浅析
Nov 08 NodeJs
NodeJS中的MongoDB快速入门详细教程
Nov 11 NodeJs
详解nodejs 文本操作模块-fs模块(四)
Dec 22 NodeJs
async/await与promise(nodejs中的异步操作问题)
Mar 03 NodeJs
nodejs入门教程五:连接数据库的方法分析
Apr 24 NodeJs
nodejs微信扫码支付功能实现
Feb 17 NodeJs
nodeJS模块简单用法示例
Apr 21 NodeJs
通过Nodejs搭建网站简单实现注册登录流程
Jun 14 NodeJs
nodejs实现获取本地文件夹下图片信息功能示例
Jun 22 NodeJs
nodejs一个简单的文件服务器的创建方法
Sep 13 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学习资源和链接.
2006/12/05 PHP
php中的实现trim函数代码
2007/03/19 PHP
PHP中通过HTTP_USER_AGENT判断是否为手机移动终端的函数代码
2013/02/14 PHP
PHP实现的简单日历类
2014/11/29 PHP
VPS中使用LNMP安装WordPress教程
2014/12/28 PHP
php单链表实现代码分享
2016/07/04 PHP
Thinkphp连表查询及数据导出方法示例
2016/10/15 PHP
用php实现分页效果的示例代码
2020/12/10 PHP
jQuery 2.0.3 源码分析之core(一)整体架构
2014/05/27 Javascript
JS给Textarea文本框添加行号的方法
2015/08/20 Javascript
基于jQuery实现放大镜特效
2020/10/19 Javascript
Kindeditor在线文本编辑器如何过滤HTML
2016/04/14 Javascript
js实现多张图片延迟加载效果
2017/07/17 Javascript
快速理解 JavaScript 中的 LHS 和 RHS 查询的用法
2017/08/24 Javascript
微信小程序 轮播图实现原理及优化详解
2019/09/29 Javascript
vue实现浏览器全屏展示功能
2019/11/27 Javascript
详解Node.JS模块 process
2020/08/31 Javascript
js+canvas绘制图形验证码
2020/09/21 Javascript
JavaScript实现消消乐的源代码
2021/01/12 Javascript
Python实现CET查分的方法
2015/03/10 Python
详解Python pygame安装过程笔记
2017/06/05 Python
在python win系统下 打开TXT文件的实例
2018/04/29 Python
python进程和线程用法知识点总结
2019/05/28 Python
PyQt5图形界面播放音乐的实例
2019/06/17 Python
pyQt5实时刷新界面的示例
2019/06/25 Python
python实现的发邮件功能示例
2019/09/11 Python
Python类绑定方法及非绑定方法实例解析
2020/10/09 Python
Keras保存模型并载入模型继续训练的实现
2021/02/20 Python
纯CSS3绘制打火机动画火焰效果
2016/07/18 HTML / CSS
Clarks鞋澳大利亚官方网站:Clarks Australia
2019/12/25 全球购物
高中体育教学反思
2014/01/24 职场文书
办护照工作证明
2014/10/01 职场文书
网络营销计划
2015/01/17 职场文书
幼师辞职信怎么写
2015/02/27 职场文书
中学生清明节演讲稿
2015/03/18 职场文书
2015年度服装销售工作总结
2015/03/31 职场文书