Я использую Lerna для обработки нескольких пакетов в своем репозитории.
По сути, у меня есть пакет @pkg/server
, в котором находится мое приложение Node/Express, и другой пакет @pkg/model
, в котором находятся мои схемы мангуста.
Мой REST API использует некоторые модели с расширением import ModelA from '@pkg/model'
.
Проблема в том, что оба этих пакета имеют mongoose
в качестве зависимости (@pkg/server
использует mongoose для установления соединения с сервером mongoDB, а @pkg/model
использует mongoose для определения схем и моделей).
На моем сервере всякий раз, когда я пытаюсь вызвать ModelA.find(...)
, он просто зависает навсегда. Из документов мангуста похоже, что мне нужно зарегистрировать модель для соединения мангуста, а не для самого объекта мангуста.
Мое первое предположение состоит в том, чтобы передать объект подключения, созданный сервером, в @pkg/model
, а затем зарегистрировать модели в этом объекте подключения.
Мой вопрос в том, это правильный способ сделать это? Или есть способ сделать что-то вроде (в @pkg/server
) mongoose.loadSchemas(@pkg/model)
?