mongoose 5.0 链接数据库 代码保存
const mongoose = require('mongoose');
const dbSrc = 'mongodb://localhost/douban-trailer'
mongoose.Promise = global.Promise;
exports.connect = () => {
  let maxConnectTimes = 0; 
  return new Promise((resolve, reject) => {
    if (process.env.NODE_ENV != 'production') {
      mongoose.set('debug', true)
    }
    mongoose.connect(dbSrc)
    var db = mongoose.connection;
    //监听相关事件
    db.on('disconnected', () => {
      maxConnectTimes++;
      if(maxConnectTimes<5){
        mongoose.connect(dbSrc)
      }else{
        throw new Error('数据库无法连接!')
      }
    })
    db.on('error', err => {
      maxConnectTimes++;
      if(maxConnectTimes<5){
        mongoose.connect(dbSrc)
      }else{
        throw new Error('数据库无法连接!')
      }
    })
    db.once('open', () => {
      console.log('MongoDB Connected successfully')
      var schema = new mongoose.Schema({ name: 'string', size: 'string' });
      var Tank = mongoose.model('Tank', schema);
      const tank = new Tank({name:'测试数据',size:'210'})
      tank.save().then(()=>{
        console.log('存储正常')
      })
      resolve();
    })
  });
}
返回结果


mongoose 5.0 链接数据库 代码保存的更多相关文章
- 让 Mongoose 不再重复链接数据库(如何正确连接以解决升级后的报错)
		升级了 Mongoose 后,发现项目打不开了.报错: MongooseError: You can not `mongoose.connect()` multiple times while con ... 
- 链接数据库代码封装DBDA
		<?php class DBDA { public $host = "localhost"; //服务器地址 public $uid = "root"; ... 
- jsp链接数据库
		数据库表代码: /*Navicat MySQL Data Transfer Source Server : localhost_3306Source Server Version : 50528Sou ... 
- Spring 链接数据库
		一.前言 Spring 现在是我们在做 JavaWeb 开发中,用的最主流的框架.以后是不是我们暂时不知道,但现在是.废话不多我就介绍 Spring 中.链接数据库的三种方式: git源码地址 需要的 ... 
- JDBC的使用(一):引用外部jar;代码链接数据库
		一:引用外部jar 1.首先不jar文件放到项目下: 2.在Eclipse中,右键相应的项目--构建路径--配置构建路径--库--添加外部jar:选中-打开-应用-确定. 二:代码链接数据库 1.加载 ... 
- 本地开发 localhost链接数据库比127.0.0.1慢
		自己手写一段代码的时候发现一个问题 链接数据库的时候 用 127.0.0.1比localhost明显的快,localhost要等一下才会有响应 而127.0.0.1就是瞬间响应.一番排查,发现了一个 ... 
- mysql学习(2)-Navicat Premium 12 链接MySQL8.0.11数据库报2059错误
		Navicat Premium 12 链接MySQL8.0.11数据库报2059错误 1,问题现象 安装完MySQL8.0.11和Navicat Premium12后,我们会用Navicat去测试连接 ... 
- 原创:mysql5 还原至mysql 8.0.11数据库链接配置提示错误(修改内容有三处
		原创:mysql5 还原至mysql 8.0.11数据库链接配置提示错误改有三: a) mysql 连接jar包版修改 b)类路径修改 c)配置连接池地址修改 因版本升级,首先要修改 1:mysql- ... 
- 理解class.forName() ---使用jdbc方式链接数据库时会经常看到这句代码
		目录(?)[-] 官方文档 类装载 两种装载方法的区别 不同的类装载器 是否实例化类 在jdbc链接数据库中的应用 资源 原文地址:http://yanwushu.sinaapp.com/clas ... 
随机推荐
- Win10使用Xmanager6远程桌面连接CentOS7服务器
			服务器:CentOS 7.6 GNOME桌面环境(若最小化安装,默认是无桌面的,那么就要安装桌面,参考百度) 个人主机:Windows 10专业版,请安装Xmanager Power Suite 6( ... 
- STM32之串口编程步骤
			串口编程步骤(非中断)如下: 使能GPIO时钟 使能串口时钟 配置TXD为复用功能+推挽 (站在STM32芯片角度) 配置RXD为复用功能+上拉 ( 站在STM32芯片角度) 设置数据帧 OV ... 
- django使用pyecharts(2)----django加入echarts_前后台分离
			二.Django 中使用 pyecharts. 前后端分离 1.安装 djangorestframework linux pip3 install djangorestframework window ... 
- Redis--list类型操作命令
			列表 list Redis列表是简单的字符串列表,按照插入顺序排序.你可以添加一个元素导列 表的头部(左边)或者尾部(右边) 列表 list——基本命令 lpush 语法:lpush key valu ... 
- 如何自定义xml文件
			在定义文件之前,首先要弄清楚什么是xml文件和dtd文件. 一:什么是xml文件? xml是一种可扩展标记性语言,标准通用标记语言的子集,是一种用于标记电子文件使其具有构造性的标记语言. 二:什么事d ... 
- stm32f103的HSI设置
			HSI基本知识 HSI是8MRC震荡电路,精度1%. PLL的设置必须在其被激活前完成,输出必须被设置温48M或者72M LSE:通过在备份域控制寄存器(RCC_BDCR)里的LSEON位启动和关闭. ... 
- Linux上安装pstree命令(-bash: pstree: command not found)
			一.pstree命令的安装 1.在 Mac OS上 brew install pstree 2.在 Fedora/Red Hat/CentOS yum -y install psmisc 3.在 Ub ... 
- php-获取某个文件夹下面的文件数量
			/** * 获取文件夹下文件的数量 * @param $url 传入一个url如:/apps/web * @return int 返回文件数量 */ public function getFileNu ... 
- 前端相关UED团队和个人博客整理
			平时收集的UED的团队和个人博客一些有关/*********************************这次真的是搬运工,原文转载自蓝色理想********************/ 前端团队推荐 ... 
- PHP原生EXCEL导出带样式无插件无乱码实现
			PHP原生EXCEL导出 经测试 带样式 无插件 无乱码,不需要引入任何插件,不需要修改任何编码 (使用时只需要修改引入php数据库配置文件.修改thead tbody中的数据即可.根据自己的需要去接 ... 
