关于mongoose连接mongodb重复访问报错的解决办法_mariadb

具体代码如下所示:

var express = require('express');
var mongoose = require('mongoose');
var router = express.Router();
var Person = mongoose.model('Person',{
 id:Number,
 name:String
});
/*新增*/
router.get('/insert', function(req, res){
 var student = new Person({
  id:1,
  name:"huop"
 });
 mongoose.connect("mongodb://localhost:27017/test");
 student.save(function(e, product, numberAffected) {
  if (e) res.send(e.message);
  var html = "
新增的数据为:" + JSON.stringify(product);
  html += "
影响的数据量为:" + numberAffected;
  res.send(html);
 });
});
router.get('/find',function(request, response){
 mongoose.connect("mongodb://localhost:27017/test");
 Person.find({
  id: 1
 }, function(e, docs) {
  if (e) response.send(e.message);
  var html = "
 查询到的数据为:" + JSON.stringify(docs);
  response.send(html);
 });
});

以上代码可以正常执行,但是有个问题,就是第一次访问的时候正常,但是刷新一遍就会报错,Trying to open unclosed connection.undefined
Error: Trying to open unclosed connection.

应该是重复打开连接失败报错,所以需要关闭连接,我加了一段关闭连接的代码,结果查询结果就成了:查询到的数据为:unde

那么该如何处理mongodb数据库连接?

解决办法如下所示:

新建一个mongoose.js:

var mongoose = require(‘mongoose');
mongoose.connect(‘mongodb://localhost/nuaidibi');
module.exports = mongoose;

每个module中,引用

var mongoose = require('./mongoose.js');下面使用就一样了,不用开关连接。

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索mongoose连接mongodb
mongoose_mongodb
mongoose连接mongodb、mongoose mongodb、mongoose和mongodb、mongodb mongoose区别、mongoose与mongodb,以便于您获取更多的相关知识。

时间: 2024-10-23 18:29:34

关于mongoose连接mongodb重复访问报错的解决办法_mariadb的相关文章

ArcGIS API for Silverlight 调用WebService出现跨域访问报错的解决方法

原文:ArcGIS API for Silverlight 调用WebService出现跨域访问报错的解决方法       群里好几个朋友都提到过这样的问题,说他们在Silverlight中调用了WebService方法,总报这个错误,贴图如下: 解决办法:      1.确定你的Silverlight项目及承载Silverlight的Web程序根目录下都包含2个跨域文件,分别是crossdomain.xml和clientaccesspolicy.xml:  crossdomain.xml文件,

各位朋友好,请教ubuntu系统python3.4环境下安装matplotlib报错的解决办法

问题描述 各位朋友好,请教ubuntu系统python3.4环境下安装matplotlib报错的解决办法 具体的问题是这样的: 我的系统是Ubuntu14.04 的64位系统,python3.4版本下,想使用matplotlib来做图. 由于matplotlib依赖numpy和python的图像库PIL,因此我先安装numpy和PIL然后,再安装matplotlib, 这里附上我的安装matplotlib的shell命令 #安装科学计算库numpy sudo pip3 install numpy

Ubuntu下开启php调试模式报错信息解决办法_Linux

Ubuntu下开启php调试模式报错信息解决办法 在Ubuntu下php的缺省设置是不显示错误信息的,如果程序出错会显示"无法处理此请求的错误提示",这在开发环境下非常不方便. 其实我们只要编辑下apache的配置文件就好 1.我的apache 配置文件目录是/etc/apache2/apache2.conf sudo vim /etc/apache2/apache2.conf 再最后加入以下两行 php_flag display_errors on php_value error_r

启动Oracle实例报错ORA-27125解决办法

有一台CentOS的机器装了Oracle,启动实例的时候报错ORA-27125 SQL> startup ORA-27125: unable to create shared memory segment Linux-x86_64 Error: 1: Operation not permitted Linux详细版本为 # cat /proc/version Linux version 2.6.32-358.14.1.el6.x86_64 (mockbuild@c6b10.bsys.dev.ce

qq音乐打开运行报错怎么办 qq音乐运行报错怎解决办法

1.我们打开360安全卫士了,然后我们点击"人工服务" 打开进入了. 2.然后我们再找到"qq问题" 之后打开进入,细节如下. 3.之后我们再找 QQ音乐运行报错,单击"立即修复" 之后我们打开进入如下图所示 4.正在为您修复QQ音乐报错问题.请耐心等待 5.修复好之后我们再点击确认就可以了,好了修复完之后我们就可以使用QQ音乐了.

MSSQL2005数据附加失败报错3456解决办法

解决办法: 1.新建一个同名的数据库(数据文件与原来的要一致) 2.再停掉sql server(注意不要分离数据库) 3.用原数据库的数据文件覆盖掉这个新建的数据库 4.再重启sql server 5.此时打开企业管理器时会出现置疑,先不管,执行下面的语句(注意修改其中的数据库名) 6.完成后一般就可以访问数据库中的数据了,这时,数据库本身一般还要问题,解决办法是,利用数据库的脚本创建一个新的数据库,并将数据导进去就行了. 复制代码 代码如下: USE MASTER GO SP_CONFIGUR

VirtualBox-4.3.0启动报错及解决办法

今天装了VirtualBox-4.3.0-89960-Win.exe,安装过程后启动时报错: 虚拟电脑控制台-严重错误(标题) 创建 COM 对象失败. 应用程序将被中断. 被召者 RC: E_NOINTERFACE (0x80004002) 解决方法: 在启动exe:VirtualBox.exe上右键(在快捷方式上即可)------兼容性--------勾选"以兼容模式运行这个程序"占确定----可正常启动 以下2种方法都试过了,不行:1.VBoxSVC /ReRegServerre

CI框架自动加载session出现报错的解决办法_php实例

很多程序员在CI中使用session的时候,开启自动加载session之后网站就报错了,具体错误信息如下:In order to use the Session class you are required to set an encryption key 下面一起来看问题解决办法. 提示信息说明:如果想用session类的话就必须要设置一个加密的密钥!那就给设置一个吧,毕竟也是出于安全考虑. 打开application/config/config.php找到Encryption Key 复制代

Adobe AIR卸载和安装都报错的解决办法

问题描述:在安装新版本的adobe air时,碰到问题,提示"安装 Adobe AIR 时出错.管理员可能不允许安装此软件.请与管理员联系.",想到控制面板把老版本的卸载了再来装,结果air卸载也卸载不掉.在网上查来查去,结果发现是电脑的windows installer 服务没启动,就到电脑管理中去启动windows installer服务,结果windows installer 也无法启动. 解决办法:使用记事本编写installer.reg文件,内容如下: Windows Reg