Rumah >pangkalan data >MongoDB >Bagaimana untuk mendapatkan semua dokumen dalam tatasusunan yang mengandungi dokumen lain menggunakan MongoDB?

Bagaimana untuk mendapatkan semua dokumen dalam tatasusunan yang mengandungi dokumen lain menggunakan MongoDB?

WBOY
WBOYke hadapan
2023-09-19 14:33:04579semak imbas

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

Untuk melakukan ini, hanya gunakan notasi titik dan cari() dalam MongoDB. Mari kita cipta koleksi yang mengandungi dokumen -

> 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")
}

Paparkan semua dokumen dalam koleksi dengan bantuan kaedah find()-

> db.demo465.find();

Ini akan menghasilkan output berikut-# 🎜🎜#

{ "_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 } } ] }

Berikut ialah pertanyaan untuk mendapatkan semua dokumen yang mengandungi dokumen lain dalam tatasusunan -

> db.demo465.find({"details.Name":"Bob"});

Ini akan menghasilkan output berikut -

{ "_id" : ObjectId("5e80421cb0f3fa88e2279062"), "id" : 102, "details" : [ { "Name" : "Bob",
"Info" : { "Subject" : "Java", "Marks" : 45 } }, { "Name" : "Carol", "Info" : { "Subject" : "C",
"Marks" : 67 } } ] }

Atas ialah kandungan terperinci Bagaimana untuk mendapatkan semua dokumen dalam tatasusunan yang mengandungi dokumen lain menggunakan MongoDB?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:tutorialspoint.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam