La mangouste d'indexation dans le code de production

Par la Mangouste la documentation pour MongooseJS et MongoDB/Node.js :

Lorsque votre application démarre, la Mangouste automatiquement les appels ensureIndex pour chaque index définies dans votre schéma. Alors que nice pour le développement, il est recommandé que ce comportement est désactivé dans la production depuis la création de l'index peut causer un impact significatif sur les performances. Désactiver le comportement en définissant le autoIndex option de votre schéma de faux.

Cela semble instruire la suppression de l'indexation automatique de la mangouste avant le déploiement d'optimiser la Mangouste de demander Mongo aller et le taux de désabonnement à travers tous les index de démarrage de l'application, ce qui semble de bon sens.

Quelle est la bonne façon de gérer l'indexation dans le code de production? Peut-être un script externe doit générer les index? Ou peut-être ensureIndex est pas nécessaire si une seule demande est de la seule lecture/écriture à une collection parce qu'il continuera d'un index à chaque fois qu'un DB d'écriture se produit?

Edit: À compléter, MongoDB fournit une bonne la documentation pour la comment faire l'indexation, mais pas pourquoi ou quand explicite de l'indexation des directives devrait être fait. Il me semble que les index doivent être tenus à jour par l'écrivain automatiquement des applications sur les collections avec les index existants et que ensureIndex est vraiment plus d'une chose une seule fois (fait quand un nouvel indice est appliqué), auquel cas la Mangouste est autoIndex devrait être un no-op sous un serveur normal redémarrer.

InformationsquelleAutor Nick S. | 2013-01-15