Я роблю проект Node.js, який містить підпроекти. Один підпроект матиме одну базу даних Mongodb, і Mongoose буде використовуватися для обгортання та запиту db. Але проблема є
- Mongoose не дозволяє використовувати безліч баз даних в одному екземплярі мангусти, оскільки моделі побудовані на одному з'єднанні.
Щоб використовувати кілька екземплярів мангустів, Node.js не дозволяє декілька екземплярів модулів, оскільки в ньому є система кешування
require()
. Я знаю, що відключити кешування модулів у Node.js, але я думаю, що це не гарне рішення, оскільки це потрібно лише мангусту.Я намагався використовувати
createConnection()
іopenSet()
в мангусті, але це не було рішенням.Я спробував глибоко скопіювати екземпляр мангусти ( http://blog.imaginea.com/deep-copy-in-javascript/ ), щоб передати нові екземпляри мангусти до підпроекту, але він кидає
RangeError: Maximum call stack size exceeded
.
Хочу знати, чи все-таки для використання цієї проблеми можна використовувати декілька баз даних із мангустом чи якісь шляхи вирішення? Тому що я думаю, що мангуст досить легко і швидко. Або будь-які інші модулі як рекомендації?
useDb
команду, яка використовує той самий пул з'єднань.