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读取memcache示例分享
Jan 02 NodeJs
nodejs npm install全局安装和本地安装的区别
Jun 05 NodeJs
NodeJS Web应用监听sock文件实例
Feb 18 NodeJs
NodeJs读取JSON文件格式化时的注意事项
Sep 25 NodeJs
nodejs的压缩文件模块archiver用法示例
Jan 18 NodeJs
Nodejs之TCP服务端与客户端聊天程序详解
Jul 07 NodeJs
nodejs前端自动化构建环境的搭建
Jul 26 NodeJs
nodejs判断文件、文件夹是否存在及删除的方法
Nov 10 NodeJs
使用nodejs+express实现简单的文件上传功能
Dec 27 NodeJs
nodejs基础之buffer缓冲区用法分析
Dec 26 NodeJs
深入理解nodejs搭建静态服务器(实现命令行)
Feb 05 NodeJs
Nodejs + sequelize 实现增删改查操作
Nov 07 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实现抓取Google IP并自动修改hosts文件
2015/02/12 PHP
php查询相似度最高的字符串的方法
2015/03/12 PHP
php实现的二分查找算法示例
2017/06/20 PHP
类之Prototype.js学习
2007/06/13 Javascript
JavaScript 注册事件代码
2011/01/27 Javascript
javascript算法题 求任意一个1-9位不重复的N位数在该组合中的大小排列序号
2012/07/21 Javascript
js控制input输入字符解析
2013/12/27 Javascript
Egret引擎开发指南之创建项目
2014/09/03 Javascript
javascript中setTimeout和setInterval的unref()和ref()用法示例
2014/11/26 Javascript
javascript强制点击广告的方法
2015/02/06 Javascript
jQuery动态星级评分效果实现方法
2015/08/06 Javascript
JavaScript实现跑马灯抽奖活动实例代码解析与优化(一)
2016/02/16 Javascript
js is_valid_filename验证文件名的函数
2017/07/19 Javascript
Angular @HostBinding()和@HostListener()用法
2018/03/05 Javascript
又拍云 Node.js 实现文件上传、删除功能
2018/10/28 Javascript
jquery.tagsinput.js实现记录checkbox勾选的顺序
2019/09/21 jQuery
使用 Opentype.js 生成字体子集的实例代码详解
2020/05/25 Javascript
js实现全选和全不选
2020/07/28 Javascript
[00:47]DOTA2荣耀之路6:玩不了啦!
2018/05/30 DOTA
详解Python实现按任意键继续/退出的功能
2016/08/19 Python
Python实现文件内容批量追加的方法示例
2017/08/29 Python
Python实现冒泡排序的简单应用示例
2017/12/11 Python
python3写爬取B站视频弹幕功能
2017/12/22 Python
python正则中最短匹配实现代码
2018/01/16 Python
python复制文件到指定目录的实例
2018/04/27 Python
java中两个byte数组实现合并的示例
2018/05/09 Python
python中pip的使用和修改下载源的方法
2019/07/08 Python
python爬虫项目设置一个中断重连的程序的实现
2019/07/26 Python
python安装第三方库如xlrd的方法
2020/10/31 Python
a标签下载链接的简单实现
2016/09/13 HTML / CSS
学习雷锋倡议书
2014/04/15 职场文书
国防教育标语
2014/10/08 职场文书
结婚通知短信大全
2015/04/17 职场文书
2019通用版劳动合同范本!
2019/07/11 职场文书
Win10/Win11 任务栏替换成经典样式
2022/04/19 数码科技
Spring Boot优化后启动速度快到飞起技巧示例
2022/07/23 Java/Android