Mongoose ODMのドキュメントを見ると、それらが何でありObjectId's
、どのように使用できるかについてはあまり説明されていません。MongoDBの外部キーのようなものだと思いますか?
もしそうなら、埋め込みドキュメントは同じ目的を達成しているようですが、いつ使用しますか?
Mongoose ODMのドキュメントを見ると、それらが何でありObjectId's
、どのように使用できるかについてはあまり説明されていません。MongoDBの外部キーのようなものだと思いますか?
もしそうなら、埋め込みドキュメントは同じ目的を達成しているようですが、いつ使用しますか?
MongoDB の概念の背景については、MongoDB のドキュメントやThe Little MongoDB Book (無料) などの MongoDB の概要を読むことは非常に価値があります。
あなたの質問に答えるには:
ObjectID_id
は、コレクションの主キー ( )としてMongoDB によって生成できる一意の 12 バイト識別子です。ObjectID には仕様があります。
DBRef (データベース参照)は、別のコレクション内のオブジェクトを参照する ObjectID です。DBRef は、関連するオブジェクトを取得するために別のクエリを必要とし、MongoDB サーバーではなくクライアント ドライバーによってサポートされる規則です。Mongoid に相当するものは、参照関係と呼ばれます。
埋め込みドキュメントは、ドキュメント内のネストされた配列またはサブドキュメントです。Mongoid では、これらは埋め込みリレーションです。
MongoDB でのデータ モデリングとスキーマ設計へのアプローチは、リレーショナル データベースとは大きく異なります。(意図的に) 結合や外部キーはありませんが、ドキュメント指向のアプローチにより、大量の関連データを 1 つのドキュメントに格納してフェッチすることができます。データのクエリと更新を計画している方法によっては、埋め込みまたはリンクがより適切な選択になる場合があります。MongoDB wikiのスキーマ設計ページには、作業を開始するための役立つヒントがいくつかあります。