当前位置: 首页 > 编程笔记 >

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

艾修然
2023-03-14
本文向大家介绍NodeJS连接MongoDB数据库时报错的快速解决方法,包括了NodeJS连接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:\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数据库时报错的快速解决方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持小牛知识库。

 类似资料:
  • 本文向大家介绍gorm golang 并发连接数据库报错的解决方法,包括了gorm golang 并发连接数据库报错的解决方法的使用技巧和注意事项,需要的朋友参考一下 底层报错 error:cannot assign requested address 原因 并发场景下 client 频繁请求端口建立tcp连接导致端口被耗尽 解决方案 root执行即可 sysctl -w net.ipv4.tcp

  • 本文向大家介绍解决python3 Pycharm上连接数据库时报错的问题,包括了解决python3 Pycharm上连接数据库时报错的问题的使用技巧和注意事项,需要的朋友参考一下 最近在学习python。 今天在学习python连接Mysql数据库时报错: 使用pyCharm+python3+pyMysql+mysql5.56 数据库连接: 最后查看发现,在数据库连接时不需要编码: 最后测试通过!

  • E立方管理平台表单填报时超链接不能使用,点击这些超链接出现“由于本机的限制,该操作已被取消,请与系统管理员联系”的提示,可用以下方法解决: 一、Office 2003       解决方法:IE - 工具 - Internet选项,点“程序”,在“默认的WEB浏览器”中点“设为默认值”,就可以解决这个问题,在EXCEL中点链接不再提示“由于本机的限制,该操作已被取消,请与系统管理员联系”这个信息了

  • 问题内容: 我正在尝试创建一个多租户应用程序(saas),其中每个客户端都有自己的数据库。 我的情况是: 我创建了一个中间件,该中间件将确定谁是基于子域的客户端,然后从常规数据库中检索客户端的数据库连接信息。我不知道如何为此客户端建立连接对象,以便能够在我的控制器中使用。我应该在中间件还是控制器中执行此操作?如果它在模型中,我该如何传递连接字符串和参数(我可以使用会话,但我不知道如何从模型内部访问

  • 在操作 MongoDB 数据库之前我们需要先连接数据库,您可以使用 MongoDB shell 来连接 MongoDB,也可以使用 PHP、Java 等编程语言来连接 MongoDB,本节我们主要介绍一下使用 MongoDB shell 来连接 MongoDB。 在连接 MongoDB 之前,我们需要先启动 MongoDB,启动 MongoDB 的方式非常简单,您只需要在 MongoDB 安装目录

  • 本文向大家介绍django 连接数据库出现1045错误的解决方式,包括了django 连接数据库出现1045错误的解决方式的使用技巧和注意事项,需要的朋友参考一下 根据菜鸟教程Django教程学习,运行"python manage.py migrate" 报错,出现 django.db.utils.OperationalError: (1045, “Access denied for user ‘