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.
$objectToArray
Der $objectToArray Aggregationsoperator in Amazon DocumentDB konvertiert ein Objekt (oder Dokument) in ein Array. Die Eingabe für den Operator ist ein Dokument, und die Ausgabe besteht aus einem Array-Element für jedes Feld-Wert-Paar im Eingabedokument. Dieser Operator ist nützlich, wenn Sie mit den einzelnen Feldern eines Dokuments als Array arbeiten müssen, z. B. wenn Sie das Dokument mit dem Höchst- oder Minimalwert für ein bestimmtes Feld suchen möchten.
Parameter
-
expression: Der Dokumentausdruck, der in ein Array konvertiert werden soll.
Beispiel (MongoDB Shell)
Das folgende Beispiel zeigt, wie der $objectToArray Operator verwendet werden kann, um das Dokument mit dem maximalen Inventar für eine Videoverleihkette zu finden.
Erstellen Sie Beispieldokumente
db.videos.insertMany([ { "_id": 1, "name": "Live Soft", "inventory": { "Des Moines": 1000, "Ames": 500 } }, { "_id": 2, "name": "Top Pilot", "inventory": { "Mason City": 250, "Des Moines": 1000 } }, { "_id": 3, "name": "Romancing the Rock", "inventory": { "Mason City": 250, "Ames": 500 } }, { "_id": 4, "name": "Bravemind", "inventory": { "Mason City": 250, "Des Moines": 1000, "Ames": 500 } } ]);
Beispiel für eine Abfrage
db.videos.aggregate([ { $project: { name: 1, videos: { $objectToArray: "$inventory" } } }, { $unwind: "$videos" }, { $group: { _id: "$name", maxInventory: { $max: "$videos.v" } } } ]);
Ausgabe
[
{
"_id": "Bravemind",
"maxInventory": 1000
},
{
"_id": "Live Soft",
"maxInventory": 1000
},
{
"_id": "Romancing the Rock",
"maxInventory": 500
},
{
"_id": "Top Pilot",
"maxInventory": 1000
}
]
Codebeispiele
Um ein Codebeispiel für die Verwendung des $objectToArray Befehls anzuzeigen, wählen Sie die Registerkarte für die Sprache, die Sie verwenden möchten: