2016-10-04 6 views
0

他のドキュメントを参照するフィールドに接尾辞 "_id"が付いています。例Mongooseでドキュメントを参照する適切な方法

record: { 
    _id : ObjectId("57f2fb5d1c6c3b0de45b170e", 
    artist_id: "prince") 
} 

artist: { 
    _id: "prince" 
} 

Myアーティストモンゴスキーマ名フィールド上の「ユニーク」属性を持っているということで。

以下のようなものは良いですか?

record: { 
    _id : ObjectId("57f2fb5d1c6c3b0de45b170e", 
    artist: "prince") 
} 

artist: { 
    _id : ObjectId(6eygdqzd5d1c6c3b0de45b1s0r", 
    name: "prince" 
} 

また、最初の例のように常にIdを直接参照する必要がありますか?

答えて

0

RDBMSの世界で問題を視覚化する場合は、外部キー制約を設定するためにフィールドが参照テーブルの主キーでなければならず、同じルールがここに適用されます。

あなたのアーティストのドキュメントには、それぞれのドキュメントに固有のアーティスト名が含まれていますが、名前フィールド自体はキー(プライマリキー)ではなくIDです。

したがって、_idフィールドを使用して参照を確立する必要があります。

mongodbで生成されたIDフィールドに頼るのではなく、おそらく_idとしてnameを使用することができます。

関連する問題