Wählen Sie einzelne oder mehrere Felder für alle Dokumente in einer MongoDB-Sammlung aus
- Wählen Sie einzelne oder mehrere Felder für alle Dokumente in einer MongoDB-Sammlung aus
- Verwenden Sie die Projektionsmethode, um einzelne oder mehrere Felder für alle Dokumente in einer MongoDB-Sammlung auszuwählen
- Abschluss
Daten werden jetzt nach der weltweiten Verbreitung des Internets in einem beispiellosen Tempo produziert. Da Sie die erforderlichen Daten aus der Datenbank sammeln oder anfordern müssen, um Analysen durchzuführen, müssen Sie das richtige Tool zum Abfragen der Daten auswählen.
In diesem Artikel erfahren Sie, wie Sie einzelne oder mehrere Felder für alle Dokumente in einer MongoDB-Sammlung auswählen, indem Sie grundlegende Abfragevorgänge durch Projektion durchführen.
Wählen Sie einzelne oder mehrere Felder für alle Dokumente in einer MongoDB-Sammlung aus
MongoDB ist ein unstrukturiertes Datenbankverwaltungssystem, das Daten in Form von Dokumenten speichert. Darüber hinaus ist MongoDB auch sehr erfolgreich bei der Verarbeitung großer Datenmengen.
Sie ist die am weitesten verbreitete NoSQL-Datenbank, da sie eine umfassende Abfragesprache und einen universellen und einfachen Datenzugriff bietet. Um beispielsweise die Datenmenge zu begrenzen, die MongoDB an Anwendungen sendet, können Sie ein Projektionsdokument einfügen, um zurückzugebende Felder anzugeben oder einzuschränken.
Eine Projektion kann explizit mehrere Felder umfassen. In den folgenden in diesem Artikel verwendeten Beispielen gibt die Methode find()
alle Dokumente zurück, die der Abfrage entsprechen.
Die Syntax für die Projektionsmethode ist unten angegeben:
db.collection.find( { <someOtherArray>: <condition> ... },
{ "<array>.$" : 1 } )
Die in den Abfrage- und Projektionsdokumenten verwendeten Arrays müssen dieselbe Länge haben, um das beabsichtigte Verhalten sicherzustellen. Wenn die Arrays unterschiedliche Längen haben, kann der Vorgang in bestimmten Szenarien fehlschlagen.
Erstellen Sie eine Beispieldatenbank
Bevor Sie beginnen, erstellen Sie eine Beispieldatenbank mit einigen Beispieldaten, um alle Vorgänge auszuführen. Eine Sammlung mit dem Namen teams
wurde erstellt, und die folgenden Datensätze wurden in die Sammlung teams
eingefügt.
Diese Sammlung wird für alle Beispiele in diesem MongoDB-Tutorial-Artikel verwendet. Die Sammlung ist unten angegeben:
db={
"teams": [
{
team: "Manchester City ",
position: "1st",
points: 70
},
{
team: "Liverpool",
position: "2nd",
points: 69
},
{
team: "Chelsea",
position: "3rd",
points: 59
},
{
team: "Arsenal",
position: "4th",
points: 54
},
{
team: "Tottenham",
position: "5th",
points: 51
},
{
team: "Manchester United",
position: "6th",
points: 50
}
]
}
Dokumente mit der find()
-Methode abfragen
Sie müssen die Methode find()
verwenden, um Dokumente aus MongoDB-Sammlungen abzufragen. Die folgende Anweisung ruft beispielsweise alle Dokumente aus der Sammlung ab.
Nehmen wir an, Sie haben eine Sammlung mit vielen Daten in einem einzigen Dokument. Sie haben die Sammlung teams
und wählen nur wenige Felder aus, die Sie möchten.
Anfrage:
db.teams.find({});
Ausgang:
Verwenden Sie die Projektionsmethode, um einzelne oder mehrere Felder für alle Dokumente in einer MongoDB-Sammlung auszuwählen
Eine Projektion kann explizit mehrere Felder umfassen. Die Methode find()
gibt alle Seiten zurück, die der Abfrage in der folgenden Operation entsprechen.
Wenn Sie nur ausgewählte Felder aus einer Sammlung abrufen möchten, können Sie die Projektionsmethode verwenden.
Dazu müssen Sie zunächst die unten angegebene MongoDB-Abfragesyntax verstehen:
db.collections.find(
// basic filtering based on the passed-in key values
{},
// selecting the fields
{});
Der zweite Parameter kann an die Methode find()
übergeben werden. Es funktioniert auch mit der Methode findOne()
.
Wählen wir nun das Feld team
aus. Hier müssen Sie noch einen Trick lernen. Der Schlüssel ist das Feld, das Sie auswählen möchten, und sein Wert.
Der Wert ist 1
für die Auswahl eines Feldes; 0
zum Abwählen eines Feldes.
Nun können Sie sich zum besseren Verständnis einige Beispiele unten ansehen.
Wählen Sie nur das Namensfeld Team
aus
Für dieses Beispiel wird die folgende unten angegebene Abfrage verwendet:
db.teams.find({},
{
team: 1
})
Ausgang:
Hier haben wir erfolgreich nur das Feld team
ausgewählt. Aber es gibt auch das Feld _id
, ohne dass Sie es explizit übergeben.
Aber standardmäßig hat die Mongo-Abfrage immer das Feld _id
.
Deaktivieren Sie das Feld _id
Im folgenden Beispiel können Sie versuchen, das Feld _id
selbst abzuwählen.
Die Abfrage dazu ist unten angegeben:
db.teams.find({},
{
team: 1,
_id: 0
})
Ausgang:
Wählen Sie nur das Feld Teamname
und Punkte
aus
Die folgende Anweisung ruft nur den team
-Namen und das Punkte
-Feld ab.
Für dieses Beispiel wird die folgende unten angegebene Abfrage verwendet:
db.teams.find({},
{
team: 1,
points: 1,
_id: 0
})
Ausgang:
Abschluss
Nachdem Sie dieses MongoDB-Tutorial durchgearbeitet haben, haben Sie also gelernt, wie Sie einzelne oder mehrere Felder für alle Dokumente in einer MongoDB-Sammlung auswählen, indem Sie grundlegende Abfragevorgänge durch Projektion ausführen, die zurückzugebende Felder angibt oder einschränkt.