collation – Tools for working with collations.¶
Tools for working with collations.
- class pymongo.collation.Collation(locale, caseLevel=None, caseFirst=None, strength=None, numericOrdering=None, alternate=None, maxVariable=None, normalization=None, backwards=None, **kwargs)¶
- Parameters
locale: (string) The locale of the collation. This should be a string that identifies an ICU locale ID exactly. For example,
en_USis valid, buten_usanden-USare not. Consult the MongoDB documentation for a list of supported locales.caseLevel: (optional) If
True, turn on case sensitivity if strength is 1 or 2 (case sensitivity is implied if strength is greater than 2). Defaults toFalse.caseFirst: (optional) Specify that either uppercase or lowercase characters take precedence. Must be one of the following values:
strength: (optional) Specify the comparison strength. This is also known as the ICU comparison level. This must be one of the following values:
TERTIARY(the default)
Each successive level builds upon the previous. For example, a strength of
SECONDARYdifferentiates characters based both on the unadorned base character and its accents.numericOrdering: (optional) If
True, order numbers numerically instead of in collation order (defaults toFalse).alternate: (optional) Specify whether spaces and punctuation are considered base characters. This must be one of the following values:
NON_IGNORABLE(the default)
maxVariable: (optional) When alternate is
SHIFTED, this option specifies what characters may be ignored. This must be one of the following values:normalization: (optional) If
True, normalizes text into Unicode NFD. Defaults toFalse.backwards: (optional) If
True, accents on characters are considered from the back of the word to the front, as it is done in some French dictionary ordering traditions. Defaults toFalse.kwargs: (optional) Keyword arguments supplying any additional options to be sent with this Collation object.
- class pymongo.collation.CollationStrength¶
An enum that defines values for strength on a
Collation.- PRIMARY = 1¶
Differentiate base (unadorned) characters.
- SECONDARY = 2¶
Differentiate character accents.
- TERTIARY = 3¶
Differentiate character case.
- QUATERNARY = 4¶
Differentiate words with and without punctuation.
- IDENTICAL = 5¶
Differentiate unicode code point (characters are exactly identical).
- class pymongo.collation.CollationAlternate¶
An enum that defines values for alternate on a
Collation.- NON_IGNORABLE = 'non-ignorable'¶
Spaces and punctuation are treated as base characters.
- SHIFTED = 'shifted'¶
Spaces and punctuation are not considered base characters.
Spaces and punctuation are distinguished regardless when the
Collationstrength is at leastQUATERNARY.