db.hello.ensureIndex({"array1":1, "array2":1})
MongoDB ne permet pas cela, car ils disent "ça peut devenir incontrôlable". Cependant, je sais que mes tableaux ne dépasseront jamais la longueur de 3. Comment pirater MongoDB pour permettre l'indexation de plusieurs tableaux à la fois?Comment indexer deux tableaux dans MongoDB?
Lors de l'utilisation d'un indice de composé, au plus une des valeurs indexées dans tout document peut être un tableau. Donc, si nous avons un indice sur {a: 1, b: 1}, les documents suivants sont à la fois bien:
{a: [1, 2], b: 1} {a: 1, b: [1, 2]} Ce document, cependant, ne parviendra pas à inséré, avec un message d'erreur "ne peut pas indexer les tableaux parallèles":
{a: [1, 2], b: [1, 2 ]} Le problème avec des tableaux parallèles d'indexation est que chaque valeur dans le produit cartésien de les clés composées doivent être indexées , ce qui peut devenir très rapidement .
Êtes-vous sûr de vouloir utiliser l'index sur les deux baies? Si vous avez déjà une grande sélectivité sur l'un d'entre eux, cela peut suffire. – Thilo
@Thilo ... le premier tableau a généralement environ 100 éléments. Le deuxième tableau a environ 2-3 éléments. Pensez-vous que je dois indexer le deuxième tableau? – TIMEX
@TIMEX Ne pas indexer le 2ème tableau et voir comment il fonctionne en utilisant la commande explain. – Joe