MongoDB
 sql >> Database >  >> NoSQL >> MongoDB

Mongodb:quando chiamare sureIndex?

Sembra che il mio commento sia stato un po' frainteso, quindi chiarirò. Non importa quando lo chiami purché venga chiamato a un certo punto prima di chiamare find() per la prima volta. In altre parole, non importa quando crei l'indice, purché sia ​​presente prima che ti aspetti di usarlo.

Un modello comune che ho visto molto è la codifica di ensureIndex allo stesso tempo (e nello stesso posto) di find() chiamata. ensureIndex verificherà se l'indice esiste e lo creerà in caso contrario. C'è indubbiamente un sovraccarico (anche se molto piccolo) nella chiamata asureindex prima di chiamare a find() quindi è preferibile non farlo.

Chiamo ensureIndex nel codice per semplificare le implementazioni ed evitare di dover gestire il db e la codebase separatamente. Il compromesso tra la facilità di implementazione bilancia la ridondanza delle chiamate successive per garantireIndex (per me.)