我正在做一个包含子项目的Node.js项目。一个子项目将拥有一个Mongodb数据库,Mongoose将用于包装和查询db。但是问题是
- 猫鼬不允许在一个猫鼬实例中使用多个数据库,因为模型建立在一个连接上。
要使用多个猫鼬实例,Node.js不允许使用多个模块实例,因为它在中具有缓存系统
require()
。我知道在Node.js中禁用模块缓存,但是我认为这不是一个好的解决方案,因为它只需要猫鼬。我尝试使用
createConnection()
和openSet()
猫鼬,但这不是解决方案。我试图深度复制猫鼬实例(http://blog.imaginea.com/deep-copy-in-javascript/),以将新的猫鼬实例传递给子项目,但是它抛出
RangeError: Maximum call stack size exceeded
。
我想知道是否存在将多个数据库与猫鼬一起使用或解决此问题的任何解决方法?因为我认为猫鼬非常容易和快速。还是任何其他模块作为建议?
useDb
使用相同连接池的命令。