わかりました。私はMongoDBにまったく慣れておらず、MongoDBDefinitiveガイドブックを読み始めました。私は7ページにいますが、「関連する種類のドキュメントをグループ化する」と書かれています。
わかりません:(ドキュメントは次のようなものです
{"greetings" , "Hello World"}
では、その文はどういう意味ですか?頭の中で想像できるように、もっと詳細な例を教えてください。ありがとう
わかりました。私はMongoDBにまったく慣れておらず、MongoDBDefinitiveガイドブックを読み始めました。私は7ページにいますが、「関連する種類のドキュメントをグループ化する」と書かれています。
わかりません:(ドキュメントは次のようなものです
{"greetings" , "Hello World"}
では、その文はどういう意味ですか?頭の中で想像できるように、もっと詳細な例を教えてください。ありがとう
ドキュメントは実際には次のようなものです。{"greetings": "Hello World"}
この場合、その重要な「挨拶」とその値「HelloWorld」のみで構成される非常に単純なドキュメントです。一部の言語では、これを連想配列、ハッシュ、または辞書と呼ぶ場合があります。この説明のポイントは、MongoDBは構造が何であるかを気にしないということです。スキームフリーであり、コレクション内のすべてのドキュメントがまったく同じ構造であることを確認する必要はありません。ただし、効率と整理の目的で、同様のドキュメントを1つのコレクションに保存する傾向があります。したがって、純粋に設計の観点から、コレクションごとに非常に類似したドキュメントが作成されます。
MongoDBのドキュメントは、多かれ少なかれJSON構造に似ています(具体的にはbson)。任意の深さにすることができ、選択したオブジェクトレベルでインデックスを作成して、検索を高速化します。
ほとんどの場合、mongodbは、使い慣れた言語を表すオブジェクトを備えた、豪華なオブジェクトストレージのように考えてください。言語に固有のドライバーは、ネイティブオブジェクトタイプとmongodbのbson表現の間のブリッジを処理します。オブジェクトを作成して保存します。mysqlを理解することとそれほど違いはありませんが、テーブルスキーマを定義する必要がないことを知っています。好きなものを保存し始めてください。
実際には、ドキュメントは次のようになります
{"Greeting": "Hello World"}
ドキュメントにあいさつ(キー)が含まれ、あいさつが「HelloWorld」(値)であることを意味します。ドキュメントは、配列や埋め込みドキュメントなどの値を含む、非常に複雑なキーと値のペアのセットである可能性があります。
同じコレクションに多数の任意のドキュメントを含めると、後でそれらを見つけるのがかなり難しくなります。したがって、共通点があるコレクションドキュメントにグループ化することをお勧めします。
関連する例として、システムのユーザーを表す各ドキュメントを含むコレクションがあります。各ドキュメントのフィールドは、各ユーザーに関する情報の量によって異なりますが、少なくとも電子メールアドレス、名前などがある場合があります。次に、何らかの条件を満たすすべてのユーザーを照会できます。
別のコレクションには会社があるかもしれません。会社のドキュメントのフィールドの1つとして、会社で働くすべてのユーザーなどを表すユーザーまたはユーザーIDの配列がある場合があります。
私はあなたが言及している特定の本に精通していませんが、多分あなたが先を耕し続けるならば、それはより理にかなっているでしょう。そうでない場合は、他の例についてここのページのいくつかを読むことをお勧めします。