Mongoose 单个应用程序的多个数据库
Posted
技术标签:
【中文标题】Mongoose 单个应用程序的多个数据库【英文标题】:Mongoose Multiple Database For A single Application 【发布时间】:2019-05-23 05:06:21 【问题描述】:如何在 mongoose 中访问其他数据库的 schema?
例如,db1
有用户列表,db2
有另一个列表。我的应用程序具有仅为db1
定义的所有模型。但现在我想在我的应用程序中访问db2
的列表。我怎样才能做到这一点?
【问题讨论】:
【参考方案1】:您可以在Connection
类型上使用useDb 函数。它返回另一个连接。如果您共享相同的 Schema,那么您的代码可能如下所示:
var mongoose = require('mongoose');
mongoose.connect('mongodb://127.0.0.1:27017/test');
var schema = new Schema(
// ...
);
var db = mongoose.connection;
var Model1 = db.model('schema', schema, 'colName');
var db2 = db.useDb('test2');
var Model2 = db2.model('schema2', schema, 'colName');
【讨论】:
test2
是模式还是数据库?对于数据库,我应该传递连接 URI 对吗?
假设你有相同的 URI 那么test2
只是一个数据库名称(在同一台服务器上)以上是关于Mongoose 单个应用程序的多个数据库的主要内容,如果未能解决你的问题,请参考以下文章
从 MongoDB 和 Mongoose 中的多个文档创建单个文档