Het lijkt erop dat mijn opmerking een beetje verkeerd is begrepen, dus ik zal het verduidelijken. Het maakt niet echt uit wanneer je het aanroept, als het maar op een bepaald moment wordt aangeroepen voordat je find() voor de eerste keer aanroept. Met andere woorden, het maakt niet echt uit wanneer u de index maakt, zolang deze er maar is voordat u deze verwacht te gebruiken.
Een veelvoorkomend patroon dat ik veel heb gezien, is het coderen van de ensureIndex
tegelijkertijd (en op dezelfde plaats) als de find()
telefoongesprek. ensureIndex
zal controleren of de index bestaat en deze aanmaken als dat niet het geval is. Er is ongetwijfeld wat overhead (zij het erg klein) bij het aanroepen van assuranceindex voordat u ooit aanroept om find() aan te roepen, dus het is beter om dit niet te doen.
Ik bel wel ensureIndex
in code om implementaties te vereenvoudigen en om te voorkomen dat de db en codebase afzonderlijk moeten worden beheerd. De afweging van het gemak van implementatie compenseert de redundantie van volgende oproepen om ervoor te zorgenIndex (voor mij.)