$split - Amazon DocumentDB
Services or capabilities described in Amazon Web Services documentation might vary by Region. To see the differences applicable to the China Regions, see Getting Started with Amazon Web Services in China (PDF).

$split

The $split aggregation operator in Amazon DocumentDB is used to split a string into an array of substrings, based on a specified delimiter. This can be useful for parsing complex string fields and extracting individual components for further processing.

Parameters

  • string: The string to be split.

  • delimiter: The character or string used to split the input string.

Example (MongoDB Shell)

In this example, we use $split to separate the components of a "Desk" field into an array, making it easier to process the data.

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

Query example

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

Output

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

The output of $split creates an array that can be used in the application to display the information for the employees.

Code examples

To view a code example for using the $split command, choose the tab for the language that you want to use:

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