MongoDB
 sql >> Base de données >  >> NoSQL >> MongoDB

Mongodb :quand appeler EnsureIndex ?

Il semble que mon commentaire ait été un peu mal compris, alors je vais clarifier. Le moment où vous l'appelez n'a pas vraiment d'importance tant qu'il est appelé à un moment donné avant d'appeler find() pour la première fois. En d'autres termes, le moment où vous créez l'index n'a pas vraiment d'importance, tant qu'il est là avant que vous ne comptiez l'utiliser.

Un modèle commun que j'ai beaucoup vu est de coder le ensureIndex en même temps (et au même endroit) que le find() appel. ensureIndex vérifiera si l'index existe et le créera si ce n'est pas le cas. Il y a sans aucun doute une surcharge (bien que très faible) lors de l'appel d'assureindex avant d'appeler find(), il est donc préférable de ne pas le faire.

J'appelle ensureIndex dans le code pour simplifier les déploiements et éviter d'avoir à gérer séparément la base de données et la base de code. Le compromis de facilité de déploiement compense la redondance des appels ultérieurs pour assurerIndex (pour moi.)