Mongoose - 多个模式与一个模式中的对象来存储连接的文档

时间:2015-10-11 11:05:59

标签: node.js facebook mongodb mongoose schema

我的Mongo数据库中有MemberSchemaFacebookSchema

如果会员注册到我的网站,会员信息将存储在MemberSchema中。

如果注册会员想要与他的Facebook帐户联系,他需要在我的网站上验证他的Facebook帐户。然后,他所有的Facebook帐户信息将存储在FacebookSchema

这是我目前的架构配置:

var Member = new Schema({
    email: String,
    password: String,
    memberType: { type: String , default: 'webaccount' },
    facebookAccount: { type: Schema.Types.ObjectId, ref: 'facebook_accounts' }
});

var FacebookAccount = new Schema({
    fbId: String,
    email: { type : String , lowercase : true},
    name: String,
    memberType: { type: String , default: 'facebook' }
});

这两个架构通过facebookAcount的{​​{1}}属性连接。

但我已经考虑过在Schema中以MemberSchema类型存储这些数据的另一种方式。

Object

根据您的意见,这可能是在这种情况下应用的更好方法?

每种方法有哪些优点和缺点?

提前致谢。

1 个答案:

答案 0 :(得分:0)

根据我的说法,你应该将facebook数据嵌入到成员集合中。 MongoDB不适合执行连接。