サブプロジェクトを含むNode.jsプロジェクトを実行しています。1つのサブプロジェクトには1つのMongodbデータベースがあり、Mongooseはdbのラップとクエリに使用されます。しかし問題は
- Mongooseでは、モデルが1つの接続で構築されるため、単一のMongooseインスタンスで複数のデータベースを使用することはできません。
複数のmongooseインスタンスを使用する場合、Node.jsはにキャッシュシステムを備えているため、複数のモジュールインスタンスを許可しません
require()
。Node.jsでモジュールキャッシングを無効にすることは知っていますが、Mongooseでのみ必要であるため、これは良い解決策ではないと思います。私が使用しようとした
createConnection()
とopenSet()
マングースで、それは解決策ではありませんでした。私は、マングースインスタンス(http://blog.imaginea.com/deep-copy-in-javascript/)をディープコピーして、新しいマングースインスタンスをサブプロジェクトに渡そうとしましたが、スローしました
RangeError: Maximum call stack size exceeded
。
私はとにかくこの問題のためにマングースまたは複数の回避策で複数のデータベースを使用することはありますか?マングースはとても簡単で速いと思うので。または推奨事項として他のモジュール?
useDb
同じ接続プールを使用するコマンドを使用する方が良いと思います。