Wählen Sie einzelne oder mehrere Felder für alle Dokumente in einer MongoDB-Sammlung aus

Tahseen Tauseef 15 Februar 2024
  1. Wählen Sie einzelne oder mehrere Felder für alle Dokumente in einer MongoDB-Sammlung aus
  2. Verwenden Sie die Projektionsmethode, um einzelne oder mehrere Felder für alle Dokumente in einer MongoDB-Sammlung auszuwählen
  3. Abschluss
Wählen Sie einzelne oder mehrere Felder für alle Dokumente in einer MongoDB-Sammlung aus

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:

Auswählen eines einzelnen Felds

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:

Auswählen eines einzelnen Felds 1

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:

Auswählen eines einzelnen Felds 2

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:

Auswählen eines einzelnen Felds 3

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.

Verwandter Artikel - MongoDB Projection