Skip to content

Latest commit

 

History

History
64 lines (39 loc) · 4.44 KB

restricciones-del-indice-de-comodines.md

File metadata and controls

64 lines (39 loc) · 4.44 KB

Restricciones del índice de comodines

Tipos o propiedades de índice incompatibles

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

NOTA

Los índices comodín son distintos e incompatibles con los índices de texto comodín . Los índices comodín no pueden admitir consultas mediante el $textoperador.

Patrones de consulta y agregación no admitidos

El campo no existe

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

Por ejemplo, considere una colección inventorycon un índice comodín activado product_attributes. El índice de comodines 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 una matriz

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

Por ejemplo, considere una colección inventorycon un índice comodín activado product_attributes. El índice de comodines 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 matriz

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

Por ejemplo, considere una colección inventorycon un índice comodín activado product_attributes. El índice de comodines 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 no es igual a null

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

Por ejemplo, considere una colección inventorycon un índice comodín activado product_attributes. El índice comodín no puede admitir las siguientes consultas si product_attributes.tagses una matriz en cualquier documento de la colección:

db.inventory.find( { $ne : [ "product_attributes.tags", null ] } )db.inventory.aggregate([{  $match : { $ne : [ "product_attributes.tags", null ] }}])

Fragmentación

No puede fragmentar una colección mediante un índice comodín. Cree un índice que no sea comodín en el campo o los campos en los que desea fragmentar. Para obtener más información sobre la selección de claves de fragmentos, consulte Claves de fragmentos .