DbRef с Mongoose - mongoose-dbref или заполнить?

У меня есть следующие две схемы:

Событие компании:

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 }
});

Является ли способ, которым я правильно ответил Member from companyEventSchema? Я пытаюсь сделать что-то длинное строки dbref.

Я видел для них отдельный проект, хотя... mongoose-dbref

Однако, документы mongoose говорят, что приведенное выше обеспечивает "dbref like function"

Что было бы более эффективным?

1 ответ

Вам нужно использовать фактический DBRefmongoose-dbref) для случая, когда поле может содержать ObjectIds, которые ссылаются на документы в потенциально более чем одном коллекция. A DBRef является кортежем ObjectId, имени коллекции и необязательного имени базы данных.

Однако поля

Mongoose ref: содержат только ObjectId, и это схема Mongoose, которая определяет, какая одна коллекция ссылается на ObjectIds.

Итак, поля Mongoose ref: более эффективны и всегда должны использоваться, если вам не нужна поддержка поддержки нескольких коллекций, предоставляемая DBRef.

licensed under cc by-sa 3.0 with attribution.