Non. MongoDB permet au système de gérer ce qui est stocké dans la RAM.
Cela dit, vous devriez pouvoir conserver l'index dans la RAM en exécutant des requêtes sur les index (consultez indication de requête ) périodiquement pour les empêcher de devenir obsolètes.
Références utiles :
De plus, Kristina Chodorow fournit cette excellente réponse concernant la relation entre les index MongoDB et la RAM
MISE À JOUR :
Après la mise à jour fournissant la sortie .explain(), je vois ce qui suit :
- La requête atteint l'index.
- nscanned est le nombre d'éléments (documents ou entrées d'index) examinés.
- nscannedObjects est le nombre de documents analysés
- n est le nombre de documents correspondant aux critères spécifiés
- votre ensemble de données contient 300 393 entrées, soit le nombre total d'éléments dans l'index et les résultats correspondants.
Je lis peut-être mal, mais ce que je lis, c'est que tous les éléments de votre collection sont des résultats valides. Sans connaître vos données, il semblerait que chaque article contienne la balise "avi". L'autre chose que cela signifie est que cet index est presque inutile; les index fournissent le plus de valeur lorsqu'ils travaillent pour réduire le champ résultant autant que possible.
De MongoDB "Conseils d'indexation et FAQ "page :