sql >> Base de Datos >  >> NoSQL >> MongoDB

Indexación de arreglos paralelos en Mongodb

Antes de hablar sobre posibles soluciones, solo quiero resaltar por qué MongoDB ha elegido para hacer cumplir esta restricción en la indexación de matrices paralelas. Cuando indexa una matriz en MongoDB, crea un índice de varias claves con una clave por elemento de la matriz. Por lo tanto, si crea un índice compuesto en dos matrices, una con M valores distintos y otra con N valores distintos, el índice tiene esencialmente MN claves. Esto es muy malo:no es lineal en la cantidad de elementos de matriz distintos. Considere la cantidad de trabajo que se necesita para mantener un índice como este cuando agrega o elimina elementos de matriz.

De acuerdo, aparte de la justificación, para evitar esta restricción, será útil usar la versión actual de MongoDB (2.6), que admite la intersección de índices. Se puede crear un índice en CustomerInformations y VehicleLicenseDisks y luego MongoDB puede usar ambos índices y cruzarlos para atender consultas que tienen restricciones en ambos.

Si, por alguna razón, está atascado con MongoDB <2.6, entonces sus opciones son considerar rediseñar el esquema o depender de los índices que usan como máximo uno de los campos de la matriz.