3

我正在使用 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,然后将模型注册到这个连接对象。

我的问题是,这是正确的做法吗?或者有没有办法做类似 (in the @pkg/server)的事情mongoose.loadSchemas(@pkg/model)

4

1 回答 1

0

我最终所做的是,我将连接传递给需要mongoose共享包之间的连接的包。

一些包可以注册模型,另一个可以进行查询,等等......

于 2018-08-07T12:29:56.587 回答