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).
$rtrim
New from version 4.0.
Not supported by Elastic cluster.
The $rtrim operator in Amazon DocumentDB is used to remove trailing characters from a string. By default, it removes trailing whitespace characters, but you can also specify a set of characters to remove by passing the chars argument.
Parameters
Example (MongoDB Shell)
The following example demonstrates how to use the $rtrim operator to remove trailing specified characters (" *") from a string.
Create sample documents
db.collection.insert([
{ "name": "John Doe* ", "age": 30 },
{ "name": "Jane Smith ", "age": 25 },
{ "name": "Bob Johnson", "age": 35 }
]);
Query example
db.collection.aggregate([
{
$project: {
_id: 0,
name: { $rtrim: { input: "$name", chars: " *" } },
age: 1
}
}
]);
Output
[
{ age: 30, name: 'John Doe' },
{ age: 25, name: 'Jane Smith' },
{ age: 35, name: 'Bob Johnson' }
]
Code examples
To view a code example for using the $rtrim command, choose the tab for the language that you want to use:
- Node.js
-
const { MongoClient, Bson } = 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');
try {
const db = client.db('test');
const collection = db.collection('collection');
const pipeline = [
{
$project: {
_id: 0,
name: { $rtrim: { input: "$name", chars: " *" } },
age: 1
}
}
];
const results = await collection.aggregate(pipeline).toArray();
console.dir(results, { depth: null });
} catch (err) {
console.error('Error occurred:', err);
} finally {
await client.close();
}
}
example().catch(console.error);
- 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')
try:
db = client.test
collection = db.collection
pipeline = [
{
"$project": {
"_id": 0,
"name": { "$rtrim": { "input": "$name", "chars": " *" } },
"age": 1
}
}
]
results = collection.aggregate(pipeline)
for doc in results:
print(doc)
except Exception as e:
print(f"An error occurred: {e}")
finally:
client.close()
example()