ホームページ > データベース > モンゴDB > MongoDB を使用して、別のドキュメントを含む配列内のすべてのドキュメントを取得するにはどうすればよいですか?

MongoDB を使用して、別のドキュメントを含む配列内のすべてのドキュメントを取得するにはどうすればよいですか?

WBOY
リリース: 2023-09-19 14:33:04
転載
590 人が閲覧しました

如何使用 MongoDB 获取数组中包含另一个文档的所有文档?

これを行うには、MongoDB でドット表記と find() を使用するだけです。ドキュメントを含むコレクションを作成しましょう -

> db.demo465.insertOne(
... {
...    id: 101,
...    details: [{
...       Name: "Chris",
...       Info: {
...          Subject: "MongoDB",
...          Marks:67
...       }
...    }, {
...          Name: "David",
...          Info: {
...             Subject: "MySQL",
...             Marks:78
...       }
...    }]
... }
... );
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e80421bb0f3fa88e2279061")
}
>
> db.demo465.insertOne(
... {
...    id: 102,
...    details: [{
...       Name: "Bob",
...       Info: {
...          Subject: "Java",
...          Marks:45
...       }
...    }, {
...          Name: "Carol",
...          Info: {
...             Subject: "C",
...             Marks:67
...          }
...       }]
...    }
... );
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e80421cb0f3fa88e2279062")
}
ログイン後にコピー

find() メソッドを使用してコレクション内のすべてのドキュメントを表示します-

> db.demo465.find();
ログイン後にコピー

これにより、次の出力が生成されます-

{ "_id" : ObjectId("5e80421bb0f3fa88e2279061"), "id" : 101, "details" : [ { "Name" : "Chris",
"Info" : { "Subject" : "MongoDB", "Marks" : 67 } }, { "Name" : "David", "Info" : { "Subject" :
"MySQL", "Marks" : 78 } } ] }
{ "_id" : ObjectId("5e80421cb0f3fa88e2279062"), "id" : 102, "details" : [ { "Name" : "Bob",
"Info" : { "Subject" : "Java", "Marks" : 45 } }, { "Name" : "Carol", "Info" : { "Subject" : "C",
"Marks" : 67 } } ] }
ログイン後にコピー

次は、別のドキュメントを含む配列内のすべてのドキュメントを取得するクエリです -

> db.demo465.find({"details.Name":"Bob"});
ログイン後にコピー

これにより、次の出力が生成されます -

{ "_id" : ObjectId("5e80421cb0f3fa88e2279062"), "id" : 102, "details" : [ { "Name" : "Bob",
"Info" : { "Subject" : "Java", "Marks" : 45 } }, { "Name" : "Carol", "Info" : { "Subject" : "C",
"Marks" : 67 } } ] }
ログイン後にコピー

以上がMongoDB を使用して、別のドキュメントを含む配列内のすべてのドキュメントを取得するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:tutorialspoint.com
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート