Esta página explica cómo especificar una intercalación predeterminada para una vista.
Ejemplo
Crear una places Colección con los siguientes documentos:
db.places.insertMany([ { _id: 1, category: "café" }, { _id: 2, category: "cafe" }, { _id: 3, category: "cafE" } ])
La siguiente operación crea una vista, especificando la intercalación a nivel de vista:
db.createView( "placesView", "places", [ { $project: { category: 1 } } ], { collation: { locale: "fr", strength: 1 } } )
La siguiente operación utiliza la intercalación de la vista:
db.placesView.countDocuments( { category: "cafe" } )
La operación devuelve 3.
Nota
Comportamiento de la intercalación
Puede especificar una intercalación por defecto para una vista en el momento que la crea. Si no se especifica ninguna intercalación, la intercalación por defecto de la vista es la intercalación de comparación binaria "simple". Es decir, la vista no hereda la intercalación por defecto de la colección.
Las comparaciones de string en la vista utilizan la intercalación por defecto de la vista. Una operación que intente cambiar o sobrescribir la intercalación por defecto de una vista fallará con un error.
Si crea una vista a partir de otra vista, no puede especificar una intercalación que difiera de la intercalación de la vista de origen.
Si realiza una agregación que implique varias vistas, como con
$lookupo$graphLookup, las vistas deben tener la misma intercalación.