$strLenCP
The $strLenCP operator in Amazon DocumentDB is used to determine the length of a string expression in code points (Unicode characters). This is useful when you need to know the number of characters in a string, rather than the number of bytes.
Parameters
-
expression: The string expression for which to return the length in code points.
Example (MongoDB Shell)
The following example demonstrates the usage of the $strLenCP operator to determine the length of strings with Unicode characters.
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: { "Desk": 1, "length": { $strLenCP: "$Desk" } } } ])
Output
{ "_id" : 1, "Desk" : "Düsseldorf-BVV-021", "length" : 18 }
{ "_id" : 2, "Desk" : "Munich-HGG-32a", "length" : 14 }
{ "_id" : 3, "Desk" : "Cologne-ayu-892.50", "length" : 18 }
{ "_id" : 4, "Desk" : "Dortmund-Hop-78", "length" : 15 }
Notice the difference in the length measurement for the "Düsseldorf-BVV-021" string, which contains a Unicode character (Ü). The $strLenCP operator correctly counts the number of Unicode characters, while the $strLenBytes operator counts the number of bytes.
Code examples
To view a code example for using the $strLenCP command, choose the tab for the language that you want to use: