3

Mongoose ODMのドキュメントを見ると、それらが何でありObjectId's、どのように使用できるかについてはあまり説明されていません。MongoDBの外部キーのようなものだと思いますか?

もしそうなら、埋め込みドキュメントは同じ目的を達成しているようですが、いつ使用しますか?

4

1 に答える 1

13

MongoDB の概念の背景については、MongoDB のドキュメントやThe Little MongoDB Book (無料) などの MongoDB の概要を読むことは非常に価値があります。

あなたの質問に答えるには:

  • ObjectID_idは、コレクションの主キー ( )としてMongoDB によって生成できる一意の 12 バイト識別子です。ObjectID には仕様があります。

  • DBRef (データベース参照)は、別のコレクション内のオブジェクトを参照する ObjectID です。DBRef は、関連するオブジェクトを取得するために別のクエリを必要とし、MongoDB サーバーではなくクライアント ドライバーによってサポートされる規則です。Mongoid に相当するものは、参照関係と呼ばれます。

  • 埋め込みドキュメントは、ドキュメント内のネストされた配列またはサブドキュメントです。Mongoid では、これらは埋め込みリレーションです。

MongoDB でのデータ モデリングとスキーマ設計へのアプローチは、リレーショナル データベースとは大きく異なります。(意図的に) 結合や外部キーはありませんが、ドキュメント指向のアプローチにより、大量の関連データを 1 つのドキュメントに格納してフェッチすることができます。データのクエリと更新を計画している方法によっては、埋め込みまたはリンクがより適切な選択になる場合があります。MongoDB wikiのスキーマ設計ページには、作業を開始するための役立つヒントがいくつかあります。

于 2012-07-15T10:49:38.210 に答える