【发布时间】:2021-07-18 20:38:49
【问题描述】:
我正在做一个包含子项目的 Node.js 项目。一个子项目将有一个 Mongodb 数据库,Mongoose 将用于包装和查询数据库。但问题是
- Mongoose 不允许在单个 mongoose 实例中使用多个数据库,因为模型是建立在一个连接上的。
-
要使用多个 mongoose 实例,Node.js 不允许多个模块实例,因为它在
require()中有缓存系统。我知道在 Node.js 中禁用模块缓存,但我认为这不是一个好的解决方案,因为它只需要猫鼬。我尝试在猫鼬中使用
createConnection()和openSet(),但这不是解决方案。我尝试深度复制 mongoose 实例 (http://blog.imaginea.com/deep-copy-in-javascript/) 以将新的 mongoose 实例传递给子项目,但它抛出了
RangeError: Maximum call stack size exceeded。
我想知道是否有使用 mongoose 的多个数据库或任何解决此问题的方法?因为我认为猫鼬非常容易和快速。或者任何其他模块作为推荐?
【问题讨论】:
标签: javascript node.js mongodb mongoose database