length
Returns the number of code points in the specified string.
If the argument resolves to null
, this function returns null
.
Counting characters
This function uses MongoDB's $strLenCP
operator, which counts characters using Unicode code points. This differs from Kotlin's String.length, which uses UTF-16 code units. For strings containing characters outside the Basic Multilingual Plane (like emoji or certain mathematical symbols), the counting behavior will differ.
For example, the emoji "๐จโ๐ฉโ๐งโ๐ฆ" (family) is a single Unicode grapheme cluster but consists of multiple code points. According to this operator, it has a length of 7. However, according to Kotlin's String.length, it has a length of 11.
Example
class Document(
val text: String,
val length: Int,
)
collection.aggregate()
.set {
Document::length set of(Document::text).length
}.toList()
Content copied to clipboard