$out - Amazon DocumentDB

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.

$out

Der $out Operator in Amazon DocumentDB wird verwendet, um das Ergebnis einer Aggregationspipeline in eine angegebene Sammlung zu schreiben.

$outsollte die letzte Phase in der Pipeline sein.

Parameter

  • output_collection: Der Name der Ausgabesammlung, in die die Aggregationsergebnisse geschrieben werden sollen.

Hinweis: Wenn die Sammlung bereits existiert, wird sie durch die Ergebnisse der Aggregationsphase ersetzt.

Beispiel (MongoDB Shell)

Das folgende Beispiel zeigt, wie der $out Operator in Amazon DocumentDB verwendet wird, um die Ergebnisse einer Aggregationspipeline in eine neue Sammlung zu schreiben.

Erstellen Sie Beispieldokumente

db.products.insertMany([ { _id: 1, name: "Wireless Headphones", category: "Electronics", price: 100.0 }, { _id: 2, name: "Smartphone", category: "Electronics", price: 200.0 }, { _id: 3, name: "JavaScript Guide", category: "Books", price: 50.0 }, { _id: 4, name: "Database Design Handbook", category: "Books", price: 75.0 } ]);

Beispiel für eine Abfrage

db.products.aggregate([ { $group: { _id: "$category", totalPrice: { $sum: "$price" } } }, { $out: "product_categories" } ])

Ausgabe

Keine (die Ergebnisse werden in die Ausgabesammlung geschrieben).

Die Aggregationspipeline gruppiert die Produkte nach Kategorien und berechnet den Gesamtpreis der Artikel für jede Kategorie. Der $out Operator schreibt die Ergebnisse in eine neue Sammlung mit dem Namen „product_categories“.

So zeigen Sie die Ergebnisse in der Ausgabesammlung an:

db.product_categories.find() [ { "_id" : "Books", "totalPrice" : 125 }, { "_id" : "Electronics", "totalPrice" : 300 } ]

Codebeispiele

Um ein Codebeispiel für die Verwendung des $out Befehls anzuzeigen, wählen Sie die Registerkarte für die Sprache, die Sie verwenden möchten:

Node.js
const { MongoClient } = require('mongodb'); async function demo_out_operator() { const client = await MongoClient.connect('mongodb://<username>:<password>@<cluster-endpoint>:27017/?tls=true&tlsCAFile=global-bundle.pem&replicaSet=rs0&readPreference=secondaryPreferred&retryWrites=false'); const db = client.db('test'); const products = db.collection('products'); // Execute aggregation with $out - results are stored in 'product_categories' collection await products.aggregate([ { $group: { _id: "$category", totalPrice: { $sum: "$price" } } }, { $out: "product_categories" } ]).toArray(); // Retrieve the results from the output collection (limited to 20 records) const productCategories = db.collection('product_categories'); const results = await productCategories.find({}).limit(20).toArray(); console.log('Results stored in product_categories collection:', results); await client.close(); } demo_out_operator();
Python
from pymongo import MongoClient def demo_out_operator(): client = MongoClient('mongodb://<username>:<password>@<cluster-endpoint>:27017/?tls=true&tlsCAFile=global-bundle.pem&replicaSet=rs0&readPreference=secondaryPreferred&retryWrites=false') db = client['test'] products = db['products'] # Execute aggregation with $out - results are stored in 'product_categories' collection list(products.aggregate([ { '$group': { '_id': '$category', 'totalPrice': { '$sum': '$price' } } }, { '$out': 'product_categories' } ])) # Retrieve the results from the output collection (limited to 20 records) product_categories = db['product_categories'] results = list(product_categories.find({}).limit(20)) print('Results stored in product_categories collection:', results) client.close() demo_out_operator()