我有以下两种模式:
公司活动:
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”
哪个更有效率?
答案 0 :(得分:10)
对于字段可以包含可能引用多个集合中的文档的ObjectId的情况,您只需要使用实际的DBRef
(和mongoose-dbref
)。 DBRef
是ObjectId
的元组,集合名称和可选的数据库名称。
然而,Mongoose ref:
字段只包含一个ObjectId
,它是Mongoose模式,用于定义ObjectIds引用的一个集合。
所以Mongoose ref:
字段效率更高,除非您需要DBRef
提供的多集合引用支持,否则应始终使用它们。