Saltar al contenido

¿Cómo crear un índice anidado en MongoDB?

Solución:

Los crearía como si estuviera creando un índice en un campo de nivel superior:

db.collection.ensureIndex({"attrs.nested.value": 1})

Necesita crear índices explícitamente en cada campo.

UNA. para indexar todas las propiedades en “anidado” tendrá que indexarlas por separado:

db.collection.createIndex({"attrs.nested.value": 1});
db.collection.createIndex({"attrs.nested.valuetwo": 1});

Esto se puede hacer en un comando con:

db.collection.createIndexes([{"attrs.nested.value": 1}, {"attrs.nested.valuetwo": 1}]);

B. para indexar solo “valuetwo”:

db.collection.createIndex({"attrs.nested.valuetwo": 1})

Utilice createIndex en lugar de secureIndex, ya queuranceIndex está en desuso desde la versión 3.0.0

MongoDB crea automáticamente un índice de varias claves si algún campo indexado es una matriz; no es necesario especificar explícitamente el tipo de múltiples claves.

Esto funcionará tanto para el escenario

db.coll.createIndex( { "addr.pin": 1 } )

OBJETOS anidados del escenario 1

{
  userid: "1234",
  addr: {
    pin:"455522"
  }
},
{
  userid: "1234",
  addr: {
    pin:"777777"
  }
}

Escenario 2 matrices anidadas

{
  userid: "1234",
  addr: [
    { pin:"455522" },
    { pin:"777777" },
  ]
}

https://docs.mongodb.com/manual/core/index-multikey/

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *