Join us at MongoDB.local London on 7 May to unlock new possibilities for your data. Use WEB50 to save 50%.
Register now >
Docs Menu
Docs Home
/ /
Comodín

Restricciones del índice comodín

Los índices comodín no admiten los siguientes tipos de índice o propiedades:

  • Compuesto

  • TTL

  • Text

  • 2d (Geoespacial)

  • 2dsphere (geoespacial)

  • encriptada

  • Unique

Nota

El campo no existe

Los índices comodín son dispersos y no indexan campos vacíos. Por lo tanto, no admiten consultas de documentos donde no existe un campo.

Por ejemplo, considera una colección inventory con un índice comodín en product_attributes. El índice comodín no puede admitir las siguientes consultas:

db.inventory.find( {"product_attributes" : { $exists : false } } )
db.inventory.aggregate([
{ $match : { "product_attributes" : { $exists : false } } }
])
El campo es igual a un documento o a un arreglo

Los índices comodín generan entradas para el contenido de un documento o arreglo, y no para el documento/arreglo en sí. Por lo tanto, los índices comodín no pueden admitir coincidencias exactas de igualdad de documento/arreglo. Los índices comodín pueden admitir consultas en las que el campo sea igual a un documento vacío {}.

Por ejemplo, considera una colección inventory con un índice comodín en product_attributes. El índice comodín no puede admitir las siguientes consultas:

db.inventory.find({ "product_attributes" : { "price" : 29.99 } } )
db.inventory.find({ "product_attributes.tags" : [ "waterproof", "fireproof" ] } )
db.inventory.aggregate([{
$match : { "product_attributes" : { "price" : 29.99 } }
}])
db.inventory.aggregate([{
$match : { "product_attributes.tags" : ["waterproof", "fireproof" ] } }
}])
El campo no es igual a un documento o arreglo.

Los índices comodín generan entradas para el contenido de un documento o arreglo, y no para el documento/arreglo en sí. Por lo tanto, los índices comodín no pueden admitir coincidencias exactas de desigualdad en documentos/arreglos.

Por ejemplo, considera una colección inventory con un índice comodín en product_attributes. El índice comodín no puede admitir las siguientes consultas:

db.inventory.find( { $ne : [ "product_attributes", { "price" : 29.99 } ] } )
db.inventory.find( { $ne : [ "product_attributes.tags", [ "waterproof", "fireproof" ] ] } )
db.inventory.aggregate([{
$match : { $ne : [ "product_attributes", { "price" : 29.99 } ] }
}])
db.inventory.aggregate([{
$match : { $ne : [ "product_attributes.tags", [ "waterproof", "fireproof" ] ] }
}])
El campo de matriz es igual o no igual a nulo

Si un campo determinado es un arreglo en cualquier documento de la colección, los índices comodín no pueden admitir consultas para documentos donde ese campo sea igual o no igual a null.

Por ejemplo, considera una colección inventory con un índice comodín en product_attributes. El índice comodín no puede soportar las siguientes queries si product_attributes.tags es un arreglo en cualquier documento de la colección:

db.inventory.find( { "product_attributes.tags": { $ne: null } } )
db.inventory.find( { "product_attributes.tags": null } )
db.inventory.aggregate([{
$match : { "product_attributes.tags": { $ne: null } }
}])
db.inventory.aggregate([{
$match : { "product_attributes.tags": null }
}])
El campo es igual a nulo

Los índices comodín no pueden soportar consultas para documentos donde un campo es igual a nulo. La query { $eq: null } coincide con todos los documentos en los que el campo es nulo o está ausente. Los comodines son escasos, lo que significa que no indexan los documentos donde falta el campo indexado y, por tanto, no pueden soportar una coincidencia nula.

Por ejemplo, considera una colección inventory con un índice comodín en product_attributes. El índice comodín no puede soportar las siguientes consultas:

db.inventory.find( { "product_attributes.price": { $eq: null } } )
db.inventory.aggregate([{
$match : { "product_attributes.price": { $eq: null } }
}])

No puedes particionar una colección usando un índice comodín. Crea un índice no comodín en el campo o campos que deseas dividir en particiones (shard). Para obtener más información sobre la selección de clave de partición, consulta Claves de partición.

Volver

Comodín

En esta página