根据会话变量将mongoose模型拆分为子集

时间:2013-11-05 04:25:46

标签: node.js mongodb session express mongoose

我正在将应用程序从MySQL迁移到运行在Express上的Node / Mongoose。目前在我的LAMP堆栈中,我在几个表中有一个“account_id”列,并且根据会话中的“活动帐户”,系统会根据account_id自动查询。显然我可以在我的新设置中做同样的事情,但看到我一般都是Node,Mongoose和NoSQL的新手,我想知道是否有更好的方法来实现这一新技术。

我在想:

1)使用多个数据库(但我无法弄清楚如何从会话中确定数据库,除非我在每个请求中单独连接到数据库)

2)为集合名称添加前缀,但是我必须在每个请求上重建mongoose.model对象,我想这不会那么糟糕。

这些和其他解决方案的成本和收益是什么?

1 个答案:

答案 0 :(得分:0)

我要做的是拥有一个用户模型并将其连接到项目的其他模型,如下所示:

mongoose.model('User', new Schema({
    name: String,
    email: String, 
}))

mongoose.model('Other', new Schema({
    user: {type: ObjectId, ref: 'User'},
    name: String,
}))

它与MySQL数据库应该没什么不同。