Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
$project
Mit dem $project Operator in Amazon DocumentDB können Sie Felder selektiv in Ausgabedokumente ein- oder ausschließen, Werte an die nächste Pipeline-Phase übergeben und neue Felder aus Eingabedokumentwerten berechnen.
Parameter
-
field: Das Feld, das in die Ausgabedokumente ein- oder ausgeschlossen werden soll. Dabei kann es sich um einen Feldpfad handeln (z. B. „a.b.c“). -
1odertrue: Schließt das Feld in die Ausgabe ein. -
0oderfalse: Schließt das Feld von der Ausgabe aus.
Beispiel (MongoDB Shell)
Das folgende Beispiel demonstriert die Verwendung des $project Operators bei der Erfassung von Studenten
Erstellen Sie Beispieldokumente
db.students.insertMany([ { "_id": 1, "name": "Alejandro Rosalez", "math": 85, "science": 92, "grade": "A" }, { "_id": 2, "name": "Carlos Salazar", "math": 78, "science": 84, "grade": "B" }, { "_id": 3, "name": "Nikhil Jayashankar", "math": 95, "science": 89, "grade": "A" }, { "_id": 4, "name": "Shirley Rodriguez", "math": 72, "science": 76, "grade": "B" } ]);
Diese Abfrage umfasst nur die math Felder name und in der Ausgabe. Das _id Feld ist standardmäßig enthalten, sofern es nicht ausdrücklich ausgeschlossen ist.
db.students.aggregate([ { $project: { "name": 1, "math": 1 } } ])
Ausgabe
{ _id: 1, name: "Alejandro Rosalez", math: 85 }
{ _id: 2, name: "Carlos Salazar", math: 78 }
{ _id: 3, name: "Nikhil Jayashankar", math: 95 }
{ _id: 4, name: "Shirley Rodriguez", math: 72 }
Diese Abfrage schließt die _id Felder grade und aus der Ausgabe aus und zeigt alle anderen Felder (name,math,science) an.
db.students.aggregate([ { $project: { "grade": 0, "_id": 0 } } ])
Ausgabe
{ name: "Alejandro Rosalez", math: 85, science: 92 }
{ name: "Carlos Salazar", math: 78, science: 84 }
{ name: "Nikhil Jayashankar", math: 95, science: 89 }
{ name: "Shirley Rodriguez", math: 72, science: 76 }
Codebeispiele
Um ein Codebeispiel für die Verwendung des $project Befehls anzuzeigen, wählen Sie die Registerkarte für die Sprache, die Sie verwenden möchten: