collation – 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_US is valid, but en_us and are 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 to False.

      • 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:

        Each successive level builds upon the previous. For example, a strength of SECONDARY differentiates characters based both on the unadorned base character and its accents.

      • numericOrdering: (optional) If True, order numbers numerically instead of in collation order (defaults to ).

      • alternate: (optional) Specify whether spaces and punctuation are considered base characters. This must be one of the following values:

      • maxVariable: (optional) When alternate is , 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 to False.

      • 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 to .

      • 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.

    • 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).

    An enum that defines values for alternate on a .

    • 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 Collation strength is at least .

    class pymongo.collation.CollationCaseFirst

    An enum that defines values for case_first on a Collation.

    • UPPER = ‘upper’

      Sort uppercase characters first.

    • LOWER = ‘lower’

      Sort lowercase characters first.

    • OFF = ‘off’

      Default for locale or collation strength.

    class pymongo.collation.CollationMaxVariable

    An enum that defines values for max_variable on a .

    • PUNCT = ‘punct’

      Both punctuation and spaces are ignored.

    • Spaces alone are ignored.