ホームページ  >  に質問  >  本文

nosql - mongodb如何设计schema

我们都知道mongodb是一种面向文档的数据库,但是它的灵活性并不意味着你不需要对其进行结构设计,在代码实施之前进行结构设计是十分必要的。

但是这样问题就来了,目前我们用的几乎所有的数据库设计工具都无法表现出mongodb这种面向文档的数据结构,那么我们在做设计的时候怎么样把我们的结构清晰的展现给别人呢,我可不想用ps一个一个去画框图。

PHP中文网PHP中文网2739日前915

全員に返信(3)返信します

  • 巴扎黑

    巴扎黑2017-04-21 10:59:19

    実際、公式 Web サイトの設計哲学は非常に優れています (http://www.mongodb.org/display/DOCS/S...)
    MongoDB と従来の SQL スキーマ設計の最大の違いは、モデルの関係を表現するのにどちらの方法が適しているかです (MongoDB では、Link または Embedded のいずれかを使用できます)

    簡単な要約:

    1. FirstClass (「User」など) は独立したコレクションを使用する必要があります
    2. 「エントリタイプ」を埋め込む必要があります
    3. 2つのモデル間に包含関係がある場合は、embeddedを使用してください
    4. 多対多の関係、リンクを使用します (SQL の外部キーに似ています)
    5. モデルが非常に少数のオブジェクトを保存する可能性がある場合は、mongodb サーバーによるキャッシュの実行に役立つ独立したコレクションを使用します
    6. 埋め込みメソッドは複雑な関連付けや複雑なクエリには適していません
    7. 埋め込みメソッドにはパフォーマンス上の大きな利点があります。「パフォーマンス」要件がある場合は、embed の使用を検討してください。
    8. 返事
      0
  • 伊谢尔伦

    伊谢尔伦2017-04-21 10:59:19

    私はまだ mongodb を通常の DB として扱い、コレクションをテーブルとして扱い、各コレクション内のデータ構造が一貫していることに慣れています。
    これが合理的かどうかはわかりませんが、少なくとも私の考え方はより明確になります。

    返事
    0
  • 天蓬老师

    天蓬老师2017-04-21 10:59:19

    NoSQL には独自の設計思想があり、RDB の考え方に影響されないことをお勧めします。
    こちらの記事も読むことをお勧めします:
    MongoDB レコード マッピング スキーマ、非常に無料な Java Entity

    返事
    0
  • キャンセル返事