使用环境:

MongoDB 3.6

插件版本:

"mongodb": "^3.1.10",
"mongoose": "^5.4.2",

直接上代码

let mongoose = require('mongoose');
mongoose.Promise = global.Promise;
mongoose.set('debug', true);
let dbname1 = 'datab1';
let dbname2 = 'datab2';
const options = {
useNewUrlParser: true,
useCreateIndex: true,
reconnectTries: Number.MAX_VALUE
};
let uri_1 = 'mongodb://username:pwd@192.168.1.1:27017/'+dbname1;
let uri_2 = 'mongodb://192.168.0.2:27017/'+dbname2;
let db1 = mongoose.createConnection(uri_1, options);
db1.on('error', () => {
console.log(uri_1+"\r\n数据库[" + dbname1 + "]连接错误!" + error);
}).on('connected', () => {
console.log(uri_1+"\r\n数据库[" + dbname1 + "]连接成功!");
});
let db2 = mongoose.createConnection(uri_2, options);
db2.on('error', () => {
console.log(uri_2+"\r\n数据库[" + dbname2 + "]连接错误!" + error);
}).on('connected', () => {
console.log(uri_2+"\r\n数据库[" + dbname2 + "]连接成功!");
});

定义好后接下来上Model测试

let InfoC_Schema = new mongoose.Schema({
status: {type:Number, default: },
desc: String,
url: String,
readtime: Date,
createdate: {type:Date, default: Date.now}
}, {
versionKey: false,
collection: "cx_infoc"
});
let InfoC = db1.model("InfoC", InfoC_Schema); let Logs_Schema = new mongoose.Schema({
objname: String,
objid: String,
desc: String,
level:{type:Number, default: },
createdate: {type:Date, default: Date.now}
}, {
versionKey: false,
collection: "cx_logs"
});
let Logs = db2.model("Logs", Logs_Schema); InfoC.find({}, function(err, list){
console.log("db1.>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>");
console.log(list);
}); Logs.find({}, function(err, list){
console.log("db2.>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>");
console.log(list);
});

Mongoose多数据库连接及实用样例的更多相关文章

  1. redis cmd 使用样例

    Redis 命令參考 一 Redis介绍 Redis是一个开源的使用ANSI C语言编写.支持网络.可基于内存亦可持久化的日志型.Key-Value数据库,并提供多种语言的API.从2010年3月15 ...

  2. 33个超级有用必须要收藏的PHP代码样例

    作为一个正常的程序员,会好几种语言是十分正常的,相信大部分程序员也都会编写几句PHP程序,如果是WEB程序员,PHP一定是必备的,即使你没用开发过大型软件项目,也一定多少了解它的语法. 在PHP的流行 ...

  3. JDBC连接MySQL数据库及演示样例

    JDBC是Sun公司制定的一个能够用Java语言连接数据库的技术. 一.JDBC基础知识         JDBC(Java Data Base Connectivity,java数据库连接)是一种用 ...

  4. 构造Scala开发环境并创建ApiDemos演示样例项目

    从2011年開始写Android ApiDemos 以来.Android的版本号也更新了非常多,眼下的版本号已经是4.04. ApiDemos中的样例也添加了不少,有必要更新Android ApiDe ...

  5. 最简单的视音频播放演示样例4:Direct3D播放RGB(通过Texture)

    ===================================================== 最简单的视音频播放演示样例系列文章列表: 最简单的视音频播放演示样例1:总述 最简单的视音频 ...

  6. VC6 鼠标钩子 最简单样例

    Windows系统是建立在事件驱动的机制上的,说穿了就是整个系统都是通过消息的传递来实现的.而钩子是Windows系统中非常重要的系统接口,用它能够截获并处理送给其它应用程序的消息,来完毕普通应用程序 ...

  7. 最简单的视音频播放演示样例8:DirectSound播放PCM

    ===================================================== 最简单的视音频播放演示样例系列文章列表: 最简单的视音频播放演示样例1:总述 最简单的视音频 ...

  8. 最简单的视音频播放演示样例3:Direct3D播放YUV,RGB(通过Surface)

    ===================================================== 最简单的视音频播放演示样例系列文章列表: 最简单的视音频播放演示样例1:总述 最简单的视音频 ...

  9. C#调用 Oracle 存储过程样例代码

    -- 建表 CREATE TABLE sale_report (      sale_date DATE NOT NULL ,      sale_item VARCHAR(2) NOT NULL , ...

随机推荐

  1. python装饰器@用法

    这个是我见过比较好的讲解链接: [廖雪峰的官方网站 - 装饰器]

  2. Go语言规格说明书 之 类型声明(Type declarations)

    go version go1.11 windows/amd64 本文为阅读Go语言中文官网的规则说明书(https://golang.google.cn/ref/spec)而做的笔记,完整的介绍Go语 ...

  3. ORACLE与SQLSERVER数据转换

    前言: 将SQLServer数据库中的表和数据全量导入到Oracle数据库,通过Microsoft SqlServer Management Studio工具,直接导入到oracle数据库,免去了生成 ...

  4. MySql数据库细节使用规范

    一.基础规范 (1)必须使用InnoDB存储引擎 解读:支持事务.行级锁.并发性能更好.CPU及内存缓存页优化使得资源利用率更高 (2)必须使用UTF8字符集 解读:万国码,无需转码,无乱码风险,节省 ...

  5. 在 laravel 的 DB::transaction 中,为外部变量赋值

    例如,我想在 laravel 的事务中,对某个外部变量赋值,然后在后续的逻辑中判断该变量的属性 $user = null; // init DB::transaction(function() use ...

  6. Myeclipse调试模式下自动提示变量值设置

    1.Window->Preferences->Java->Editor->Hovers 将[Variable Values]选择即可,如果第一个[Combined Hover] ...

  7. JQuery框架2.位置属性|筛选方法|事件

    1.位置属性 jquery的css position获取匹配元素相对父元素的偏移位置:offset获取匹配元素在当前视口的相对偏移,返回的对象包含两个整型属性:top 和 left $("p ...

  8. 【Java】 剑指offer(56-1) 数组中只出现一次的两个数字

      本文参考自<剑指offer>一书,代码采用Java语言. 更多:<剑指Offer>Java实现合集   题目 一个整型数组里除了两个数字之外,其他的数字都出现了两次.请写程 ...

  9. (转)python中调用R语言通过rpy2 进行交互安装配置详解

    python中调用R语言通过rpy2 进行交互安装配置详解(R_USER.R_HOME配置) 2018年11月08日 10:00:11 luqin_ 阅读数:753   python中调用R语言通过r ...

  10. uva 674 Coin Change 换钱币【完全背包】

    题目链接:https://vjudge.net/contest/59424#problem/A 题目大意: 有5种硬币, 面值分别为1.5.10.25.50,现在给出金额,问可以用多少种方式组成该面值 ...