2017-12-10 12 views
0

私はMongoDBを使いこなしています。私は最良の解決策が何であるか疑問に思います。私はコレクションを持っています。動物と各動物は名前とタイプを持っています。NoSQL重複データまたは新しいドキュメント

フロントエンドのニーズには、それぞれのタイプに色があります。

まず1:

Animal 
    .animal 1 
    name: Simba 
    race: lion 
    type: 
     name: felin 
     color: blue 
    .animal 2 
    name: Franck 
    race: turtle 
    type: 
     name: turtle 
     color: red 
    .animal 3 
    name: Francis 
    race: turtle 
    type: 
     name: turtle 
     color: red 

第二:

だから、二つの可能性がある

Animal 
    .animal 1 
    name: Simba 
    race: lion 
    type: (id of type collection) 
Type 
    .type 1 
    name: felin 
    color: blue 
    .type 2 
    name: turtle 
    color: red 

ので、私は、データを複製する必要がありますか?新しいコレクションを作成する必要がありますか?

ありがとうございます!

答えて

0

type文書があまり頻繁に変更されず、その内部の2-3の属性に制限されている場合は、最初の方法が優れています。あなたはtype文書でより多くの属性を追加することを計画している場合

しかし、あなたは新しいコレクションを作成することを検討してanimalsコレクションにtype-idを保存する必要があります。あなたのtype文書が将来的に頻繁に変更しようとしている場合

また、あなたが代わりにあなただけの1つの場所でそれを変更したい、それでそのtypeを持ってanimals内の各レコードを更新したくない(typeコレクション) 。

0

私はタイプキーが2つのみのサブキーしか持たないため、最初のアプローチが好まれます。私はDB操作を含むので、私はより多くのキーを持っているとき、私は新しいコレクションを好む。

関連する問題