Make the MongoDB docs better! We value your opinion. Share your feedback for a chance to win $100.
MongoDB Branding Shape
Click here >
Docs Menu

Crea una colección con intercalación

Intercalación permite especificar reglas específicas del lenguaje para la comparación de strings, como reglas para el uso de mayúsculas y minúsculas y signos diacríticos.

Se aplican las siguientes restricciones cuando el parámetro numericOrdering está configurado en true:

  • Solo se consideran en las comparaciones las substrings de enteros no negativos contiguos de dígitos. numericOrdering no admite:

    • +

    • -

    • exponentes

  • Solo los puntos de código Unicode en la categoría de Número o dígito decimal (Nd) se consideran dígitos.

  • Si la longitud del número supera los 254 caracteres, los caracteres excedentes se tratan como un número aparte.

1
  1. Si aún no aparece, se debe seleccionar la organización que contiene el proyecto en el menú Organizations de la barra de navegación.

  2. Si aún no se muestra, seleccione su proyecto en el menú Projects de la barra de navegación.

  3. En la barra lateral, haz clic en Data Explorer en la sección Database.

    El Data Explorer se muestra.

IMPORTANTE: También puede hacer clic en el nombre de un grupo para abrir la barra Cluster lateral y luego hacer clic Data Explorer en debajo del Shortcuts encabezado.

2

En la pantalla Collections, haz clic en el botón Create Collection.

3
4

Revisa la opción Use Custom Collaton.

5

Se requiere seleccionar un locale de los lenguajes compatibles con MongoDB.

Todos los demás parámetros de opciones de intercalación son opcionales. Para obtener descripciones de los campos, consulta Intercalación.

6

Considere una colección con los siguientes valores de strings numéricas y decimales:

[
{ "n": "1" },
{ "n": "2" },
{ "n": "-2.1" },
{ "n": "2.0" },
{ "n": "2.20" },
{ "n": "10"},
{ "n": "20" },
{ "n": "20.1" },
{ "n": "-10" },
{ "n": "3" }
]

La siguiente query utiliza un documento de intercalación que contiene el parámetro numericOrdering:

db.c.find(
{ }, { _id: 0 }
).sort(
{ n: 1 }
).collation( {
locale: 'en_US',
numericOrdering: true
} )

Para obtener más información sobre cómo consultar documentos en Atlas, consulte Query sus datos.

Las operaciones devuelven los siguientes resultados:

[
{ "n": "-2.1" },
{ "n": "-10" },
{ "n": "1" },
{ "n": "2" },
{ "n": "2.0" }
{ "n": "2.20" },
{ "n": "3" },
{ "n": "10" },
{ "n": "20" },
{"n": "20.1" }
]
  • numericOrdering: true ordena los valores de strings en orden ascendente como si fueran valores numéricos.

  • Los dos valores negativos -2.1 y -10 no están ordenados en el orden de clasificación esperado porque tienen caracteres - no admitidos.