返回顶部
首页 > 资讯 > 前端开发 > node.js >NodeJS连接MongoDB数据库时报错的快速解决方法
  • 239
分享到

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

解决方法时报快速 2022-06-04 17:06:49 239人浏览 八月长安
摘要

今天第一次尝试连接mongoDB数据库,具体步骤也很简单。 首先,通过nodejs运行环境安装MonGoDB包,进入要安装的目录,执行语句 npm install mongodb安装成功后,通过如下语句测试

今天第一次尝试连接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的运行环境中运行以上代码所在文件,出现如下所示错误:

查看图片

mongodb数据库的默认端口为27017,所以我把port改成默认的27017,运行文件后,仍然报错,如下所示:

查看图片

很显然,错误本身不是端口号属性问题,而是无法连接默认的MongoDB数据库服务,最后终于明白造成以上错误的原因是没有运行数据库服务器的可执行文件。

具体启动方法为:

在运行环境中进入MongoDB的安装位置,进入bin文件夹下,运行如下代码:

D:Mongodbbin>mongod --dbpath D:Mongodbdata  

一般情况下,上面的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:MongoDBbin 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数据库时报错的快速解决方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持编程网。

--结束END--

本文标题: NodeJS连接MongoDB数据库时报错的快速解决方法

本文链接: https://lsjlt.com/news/13038.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作