DbRef与Mongoose - mongoose-dbref或populate?

时间:2012-04-13 21:05:13

标签: mongodb mongoose

我有以下两种模式:

公司活动:

var companyEventSchema = new Schema({
    name : String,
    description
    date : Date,
    attendees : [ { type : Schema.ObjectId, ref : 'Member' } ],
]});

和会员

var memberSchema = new Schema({
    name : String,
    emailAddress: String,
    password :String,
    created: { type: Date, default: Date.now }
});

我从companyEventSchema引用会员的方式是否正确? 我正在努力做一些dbref的行。

我看到了一个单独的项目,虽然... mongoose-dbref

但是,mongoose文档说上面提供了“dbref like functions”

哪个更有效率?

1 个答案:

答案 0 :(得分:10)

对于字段可以包含可能引用多个集合中的文档的ObjectId的情况,您只需要使用实际的DBRef(和mongoose-dbref)。 DBRefObjectId的元组,集合名称和可选的数据库名称。

然而,Mongoose ref:字段只包含一个ObjectId,它是Mongoose模式,用于定义ObjectIds引用的一个集合。

所以Mongoose ref:字段效率更高,除非您需要DBRef提供的多集合引用支持,否则应始终使用它们。