Heim  >  Artikel  >  Datenbank  >  Wie erhalte ich mit MongoDB alle Dokumente in einem Array, die ein anderes Dokument enthalten?

Wie erhalte ich mit MongoDB alle Dokumente in einem Array, die ein anderes Dokument enthalten?

WBOY
WBOYnach vorne
2023-09-19 14:33:04551Durchsuche

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

Verwenden Sie dazu einfach die Punktnotation und find() in MongoDB. Lassen Sie uns eine Sammlung mit Dokumenten erstellen –

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

Zeigen Sie alle Dokumente in der Sammlung mit Hilfe der find()-Methode an –

> db.demo465.find();

Dadurch wird die folgende Ausgabe erzeugt –

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

Hier ist die Abfrage, um alle Dokumente abzurufen das Array, das ein anderes Dokument enthält -

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

Dies erzeugt die folgende Ausgabe -

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

Das obige ist der detaillierte Inhalt vonWie erhalte ich mit MongoDB alle Dokumente in einem Array, die ein anderes Dokument enthalten?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:tutorialspoint.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen