私は2つのエンティティノートブックとノートを持つ単純なアプリケーションを設計しようとしています。したがって、ノートブックには複数のNotesを含めることができます.RDBMSでは、2つのテーブルを持ち、1対多の関係を持つことができます。 私はMongoDBで二重収集 のアプローチを取るべきではないか、Notebookコレクションにノートを埋め込むべきかどうかはわかりません。何をお勧めしますか?MongoDBスキーマ設計 - 2つのコレクションアプローチまたは埋め込みドキュメントを選択
1
A
答えて
3
ノートブックと呼ばれる単一のコレクションを使用するのは完全に合理的な状況のようであり、各ノートブックドキュメントには埋め込まれたノートが含まれています。埋め込みドキュメントのインデックスを簡単に作成できます。
ノートブック文書では、「ノート」キーを持って、その値はノートのリストである場合:
{
"notes": [
{"created_on": Date(1343592000000), text: "A note."}
]
}
# create index
db.notebook.ensureIndex({"notes.created_on" : -1})
私の意見は試してみて、できるだけ多くを埋め込み、その後を介して別のコレクションを参照するように選択することです参照が、共有され、変更されるより一般的なデータのセットになる必要がある場合の第2のオプションとしてのid。例えば、多くの他のコレクションが参照するカテゴリ文書の集合。カテゴリは時間とともに更新されます。しかし、あなたのケースでは、ノートは常にノートブックに属している必要があります
0
あなたはそれに実行する必要がどのような種類の質問をする必要があります。 「デフォルトで」アプローチはそれらを組み込むことですが、よりリレーショナルなアプローチが適用できるケース(ケースをどのように使用するかによって異なります)があります。だから簡単な答えは "おそらく、あなたはおそらくそれについて考えなければなりません" :)
関連する問題
- 1. Mongodbクエリ選択埋め込みドキュメント
- 2. MongoDBスキーマ設計 - 参照と埋め込み
- 3. MongoDB埋め込みドキュメント
- 4. mongodbデータモデルデザイン - 埋め込みドキュメントのみ?
- 5. Tinderのようなアプリケーション、組み込みドキュメント、または別のコレクションのためのMongoDBスキーマ設計?
- 6. MongoDBの埋め込みドキュメントの照会
- 7. 埋め込みドキュメントのMongodbグループクエリ
- 8. 埋め込みドキュメントのMongodbネイティブ検証
- 9. MongoDBルート以外の基準ですべての埋め込みドキュメントを選択
- 10. Mongodbのマルチドキュメントまたは埋め込みドキュメント?
- 11. MongoDbとC#:埋め込みまたは参照ドキュメント
- 12. mongodbオブジェクトのための条件付き埋め込みドキュメント
- 13. Mongodbは埋め込まれたドキュメントをPHPで取り込みません
- 14. symfony2はmongodbドキュメントをSQLエンティティに埋め込みます
- 15. Javascript MongoDB埋め込みドキュメントのMongoDBドット表記の問題
- 16. MongoDB - 埋め込みドキュメントとドキュメント自体の更新
- 17. mongodb-java-driverに埋め込みドキュメントのコーデックを書き込む
- 18. MongoDBのスキーマ設計
- 19. 入れ子になったMongoose埋め込みドキュメントを埋め込む方法
- 20. タブバ埋め込みの問題を選択しました
- 21. 埋め込みドキュメントのサイズをMongoDBのKBで知る方法
- 22. mongodb内のドキュメント内の埋め込み配列フィールドを照会
- 23. 埋め込みドキュメントの更新埋め込み
- 24. MongoDB/Ruby(Mongoid):埋め込み文書のみを選択する方法
- 25. MongoDB - 埋め込みドキュメントの単一フィールドを削除する
- 26. mongodbへの配列の埋め込み埋め込み
- 27. マルチレベルの埋め込みドキュメントを更新
- 28. 配列内の埋め込みドキュメントのクエリ方法 - MongoDB?
- 29. 埋め込みドキュメントのMongoDBインデックスの境界
- 30. の参照/埋め込みドキュメント