【发布时间】:2017-08-15 08:46:39
【问题描述】:
我想要的是拥有具有相同集合(相同模式、精确模型、不同数据)和 1 个 nodejs(expressjs + mongoose)网络应用程序的任意数据库(例如 50 个)。
示例简化案例:
我有:
- 带有
User模型的单个 Web 应用程序(expressjs + mongoose)。 - 50 个域 50 个数据库,包含
users集合。
我想要实现什么行为:
-
GET /api/users/http 请求即将到达域之一 (test-domain-39.myapp.com) - app 获取了请求的域名 (test-domain-39),当我在
users.controller中执行User.find({isActive: true})时,猫鼬不知何故明白它想要查询 database-39
所以我只想要一个抽象。我将数据库名称传递给 mongoose 并继续使用User 模型(就像我们通常在拥有单个数据库连接时所做的那样),如果需要,mongoose 创建连接(如果它是对特定数据库的第一个请求),保留它连接池中的下一个请求等。
实现这一目标的最简单、最有效的方法是什么?
提前致谢!
【问题讨论】:
标签: node.js express design-patterns mongoose high-load