Credo che questo sia l'estratto più rilevante da i documenti MongoDB :
Quindi questo significa che il client su cui hai emesso il comando per creare l'indice rimarrà bloccato fino a quando l'indice non sarà completamente creato. Se, da un altro client, stai facendo qualcosa come aggiungere un documento duplicato durante la creazione dell'indice, inserirà il documento senza errori, ma alla fine il tuo client iniziale riscontrerà un errore che non è stato in grado di completare l'indice perché esiste una chiave duplicata per l'indice univoco.
Ora, in realtà sono finito qui mentre cercavo di capire quale fosse l'index(..., {background: true})
di MongoID l'opzione lo fa, perché sembra implicare che ogni scrittura possa eseguire la parte di indicizzazione della scrittura in background, ma la mia comprensione ora è che questa opzione si applica solo alla creazione iniziale dell'indice. Ciò è spiegato nell'introduzione ai documenti per background
opzione per il metodo createIndex di MongoDB
(che tecnicamente non è la stessa cosa del background
di MongoID opzione, ma chiarisce il concetto della funzionalità relativa a tale opzione):