唯一の違いは、実際にはObjectId
であるということです。 もう1つは、ObjectId
のように見える文字列表現です。 。
ObjectIdとしてのDBRef:
db.persons.insert({name: 'cavin',
sister: new DBRef('persons',
new ObjectId('5165419064fada69cef33ea2'))}) // use an ObjectId
文字列としてのDBRef:
db.persons.insert({name: 'bob',
sister: new DBRef('persons',
'5165419064fada69cef33ea2')}) // use a string
含めた例では、ObjectId
形式は、文字列表現に必要な24バイトではなく、12バイトの値であるため、より効率的なストレージになる可能性があります。 DBRef
を使用したい場合 s、ObjectId
を使用します 参照されるコレクションがObjectId
を使用している場合 s _id
の場合 。
ObjectId
を使用する必要はありません DBRef
。キーを表す任意の値にすることができます(_id
)関連するコレクション/DBの。
ドキュメント
として DBRef
を使用するやむを得ない理由がない限り、 、代わりに手動参照を使用してください。