对于每个型号的新连接?是对的吗?

时间:2014-12-24 16:55:40

标签: node.js mongodb mongoose

我正在通过Express.js基础创建一个Node.js应用程序,我的知识引导我为每个模型创建一个models文件夹和一个文件。好吧,到目前为止,这么好 - 但重点是:我的每个模型都有以下代码片段:

var mongoose    = require ('mongoose')
    , database  = mongoose.createConnection('mongodb://localhost:27017/test');

我是否在重复自己这样做?我不是在寻找"有史以来最好的方法",但这样做并不是一件坏事?

如果这是正常的,有人可以解释一下为什么会出现这种情况吗?我无法创建一个有机机制来建立连接,只是为整个应用程序分配它的属性?

我已经使用过Rails,C#和PHP,我以前从未见过这样的东西。可能是因为数据库连接对我来说非常抽象 - 我在连接桥上只碰了几次。

免责声明:我的问题非常非常具体。我只是想知道是否有办法宣布从一个文件到应用程序其余部分的数据库连接。

1 个答案:

答案 0 :(得分:1)

您正在做的事情并不典型。

除非您特别需要做其他事情,否则请在应用启动期间拨打mongoose.connect一次,并使用mongoose.model注册所有模型。

这可让您的应用共享一个公共连接池。您可以通过mongoose.connect调用中提供的选项调整连接池的大小。