Я делаю проект Node.js, который содержит подпроекты. Один подпроект будет иметь одну базу данных Mongodb, а Mongoose будет использоваться для упаковки и запросов к базе данных. Но проблема в том
- Mongoose не позволяет использовать несколько баз данных в одном экземпляре mongoose, поскольку модели строятся на одном соединении.
Чтобы использовать несколько экземпляров mongoose, Node.js не позволяет использовать несколько экземпляров модуля, поскольку в нем есть система кеширования
require()
. Я знаю, что отключить кеширование модулей в Node.js, но я думаю, что это не лучшее решение, так как оно нужно только для мангуста.Я пробовал использовать
createConnection()
иopenSet()
в мангусте, но это не было решением.Я попытался глубоко скопировать экземпляр мангуста ( http://blog.imaginea.com/deep-copy-in-javascript/ ), чтобы передать новые экземпляры мангуста в подпроект, но он бросил
RangeError: Maximum call stack size exceeded
.
Я хочу знать, есть ли способы использовать несколько баз данных с мангустом или какое-либо решение этой проблемы? Потому что я считаю, что мангуст довольно простой и быстрый. Или любые другие модули в качестве рекомендаций?
useDb
команду, которая использует тот же пул соединений.