$split - 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.

$split

Der $split Aggregationsoperator in Amazon DocumentDB wird verwendet, um eine Zeichenfolge auf der Grundlage eines angegebenen Trennzeichens in ein Array von Teilzeichenfolgen aufzuteilen. Dies kann nützlich sein, um komplexe Zeichenkettenfelder zu analysieren und einzelne Komponenten für die weitere Verarbeitung zu extrahieren.

Parameter

  • string: Die Zeichenfolge, die aufgeteilt werden soll.

  • delimiter: Das Zeichen oder die Zeichenfolge, das zum Teilen der Eingabezeichenfolge verwendet wurde.

Beispiel (MongoDB Shell)

In diesem Beispiel trennen wir $split die Komponenten eines Feldes „Desk“ in ein Array, um die Verarbeitung der Daten zu vereinfachen.

Erstellen Sie Beispieldokumente

db.people.insertMany([ { "_id": 1, "Desk": "Düsseldorf-BVV-021" }, { "_id": 2, "Desk": "Munich-HGG-32a" }, { "_id": 3, "Desk": "Cologne-ayu-892.50" }, { "_id": 4, "Desk": "Dortmund-Hop-78" } ]);

Beispiel für eine Abfrage

db.people.aggregate([ { $project: { parts: { $split: ["$Desk", "-"] } } } ]);

Ausgabe

{ "_id" : 1, "parts" : [ "Düsseldorf", "BVV", "021" ] } { "_id" : 2, "parts" : [ "Munich", "HGG", "32a" ] } { "_id" : 3, "parts" : [ "Cologne", "ayu", "892.50" ] } { "_id" : 4, "parts" : [ "Dortmund", "Hop", "78" ] }

Die Ausgabe von $split erstellt ein Array, das in der Anwendung verwendet werden kann, um die Informationen für die Mitarbeiter anzuzeigen.

Codebeispiele

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

Node.js
const { MongoClient } = require('mongodb'); async function example() { 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 result = await db.collection('people').aggregate([ { $project: { parts: { $split: ['$Desk', '-'] } } } ]).toArray(); console.log(result); await client.close(); } example();
Python
from pymongo import MongoClient def example(): client = MongoClient('mongodb://<username>:<password>@<cluster-endpoint>:27017/?tls=true&tlsCAFile=global-bundle.pem&replicaSet=rs0&readPreference=secondaryPreferred&retryWrites=false') db = client.test result = list(db.people.aggregate([ { '$project': { 'parts': { '$split': ['$Desk', '-'] } } } ])) print(result) client.close() example()