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

 更新时间:2016年01月04日 13:45:30   投稿:mrr  
这篇文章主要介绍了关于mongoose连接mongodb重复访问报错的解决办法的相关资料,需要的朋友可以参考下

具体代码如下所示:

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');下面使用就一样了,不用开关连接。

相关文章

  • 在Ubuntu系统中安装MariaDB数据库的教程

    在Ubuntu系统中安装MariaDB数据库的教程

    这篇文章主要介绍了在Ubuntu系统中安装MariaDB数据库的教程,同时也适用于其他Debian系的Linux系统,需要的朋友可以参考下
    2015-06-06
  • centos 7下安装mysql(MariaDB)的教程

    centos 7下安装mysql(MariaDB)的教程

    这篇文章主要为大家详细介绍了centos 7下安装mysql(MariaDB)的详细教程,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-06-06
  • MariaDB配置双主复制方案

    MariaDB配置双主复制方案

    MySQL复制中较常见的复制架构有“一主一从”、“一主多从”、“双主”、“多级复制”和“多主环形机构”等,今天我们来详细探讨下MariaDB配置双主复制的方案
    2017-03-03
  • Mariadb数据库主从复制同步配置过程实例

    Mariadb数据库主从复制同步配置过程实例

    这篇文章主要为大家介绍了Mariadb数据库主从复制同步配置过程实例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-11-11
  • Windows10系统下安装MariaDB 的教程图解

    Windows10系统下安装MariaDB 的教程图解

    MariaDB由MySQL的创始人麦克尔·维德纽斯主导开发,他早前曾以10亿美元的价格,将自己创建的公司MySQL卖给了SUN,此后,随着SUN被甲骨文收购,MySQL的所有权也落入Oracle的手中。这篇文章给大家介绍Windows10系统下安装MariaDB 的教程图解,感兴趣的朋友一起看看吧
    2018-12-12
  • Mac中MariaDB数据库的安装步骤

    Mac中MariaDB数据库的安装步骤

    大家都知道MariaDB数据库管理系统是MySQL的一个分支,主要由开源社区在维护,采用GPL授权许可MariaDB的目的是完全兼容MySQL,包括API和命令行,使之能轻松成为MySQL的代替品。这篇文章我们将详细介绍在Mac中安装MariaDB数据库的步骤,有需要可以参考学习。
    2016-09-09
  • Centos7 下mysql重新启动MariaDB篇

    Centos7 下mysql重新启动MariaDB篇

    这篇文章主要给大家介绍了在Centos7 下mysql重新启动MariaDB的相关资料,文中介绍的非常详细,对大家具有一定的参考价值,需要的朋友们下面来一起看看吧。
    2017-03-03
  • MariaDB性能调优工具mytop的使用详解

    MariaDB性能调优工具mytop的使用详解

    这篇文章主要给大家介绍了关于MariaDB性能调优工具mytop的使用,文中介绍的非常详细,对大家具有一定的参考价值,需要的朋友们下面来一起看看吧。
    2017-03-03
  • mariadb 在低配 VPS 上崩溃问题处理方案

    mariadb 在低配 VPS 上崩溃问题处理方案

    本文给大家分享的是mariadb 在低配 VPS 上启动时崩溃问题的处理方案,附上解决过程,有需要的小伙伴可以参考下
    2016-09-09
  • centos中找回MariaDB数据库root用户权限的方法

    centos中找回MariaDB数据库root用户权限的方法

    这篇文章主要介绍了centos中找回MariaDB数据库root用户权限的方法,本文写的很意思,相信大家会眼前一亮,需要的朋友可以参考下
    2014-07-07

最新评论