用mongoose访问多个mongo数据库

在单个nodejs应用程序中,如何在mongodb实例之间切换?

对于某些上下文,我正在编写一个nodejs / zeromq / mongoose队列工作器。

我在同一台服务器上运行了多个nodejs / mongo应用程序,每个都有自己的mongo数据库,将作业推送到队列中。

我的工作人员应用程序依次提取并处理作业。

根据哪个应用程序发送作业,它需要通过mongoose连接到适当的mongo数据库。 所有应用程序使用相同的mongoose模型,所以相同的模型已经在我的工人应用程序中可用。

我在切换连接时遇到了麻烦,而且我恐怕列出了我的尝试/结果的细节会在这里混淆问题。

无论一次只限制一个,还是保持连接集合,都没有关系。

任何有识之士将不胜感激。

使用createConnection 。 请参阅文档: http : //mongoosejs.com/docs/api.html 。 我自己并没有这样做,但是我相信你只要创build模型附加到每个模式

 var mongoose = require('mongoose'); var db = mongoose.createConnection(..); db.model('Venue', new Schema(..)); var Ticket = db.model('Ticket', new Schema(..)); var Venue = db.model('Venue');