$split - Amazon DocumentDB

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

$split

L'opérateur d'$splitagrégation dans Amazon DocumentDB est utilisé pour diviser une chaîne en un tableau de sous-chaînes, en fonction d'un délimiteur spécifié. Cela peut être utile pour analyser des champs de chaînes complexes et extraire des composants individuels pour un traitement ultérieur.

Paramètres

  • string: chaîne à diviser.

  • delimiter: caractère ou chaîne utilisé pour diviser la chaîne d'entrée.

Exemple (MongoDB Shell)

Dans cet exemple, nous avons utilisé $split pour séparer les composants d'un champ « Desk » en un tableau, ce qui facilite le traitement des données.

Création d'exemples de documents

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" } ]);

Exemple de requête

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

Sortie

{ "_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" ] }

La sortie de $split crée un tableau qui peut être utilisé dans l'application pour afficher les informations destinées aux employés.

Exemples de code

Pour afficher un exemple de code relatif à l'utilisation de la $split commande, choisissez l'onglet correspondant à la langue que vous souhaitez utiliser :

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()