4

次の2つのスキーマがあります。

会社のイベント:

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 から Member を参照した方法は正しいですか? 私は dbref の長い行を何かしようとしています。

私はそのための別のプロジェクトを見ました... mongoose-dbref

ただし、マングースのドキュメントによると、上記は「dbrefのような機能」を提供します

どちらがより効率的でしょうか?

4

1 に答える 1

11

DBRef実際の(and )を使用する必要があるのはmongoose-dbref、複数のコレクション内のドキュメントを参照する可能性のある ObjectId をフィールドに含めることができる場合のみです。Aは、コレクション名、およびオプションのデータベース名DBRefのタプルです。ObjectId

ただし、 Mongooseref:フィールドには のみが含まれており、ObjectIds が参照する1 つのObjectIdコレクションを定義するのは Mongoose スキーマです。

そのため、 Mongooseref:フィールドはより効率的であり、提供するマルチコレクション参照サポートが必要でない限り、常に使用する必要がありDBRefます。

于 2012-11-25T14:37:18.670 に答える