Não, ele deve (como em todos os outros drivers) registrar como um no op, pois o índice já existe. Alguns drivers fornecem um mecanismo de cache para detectar, sem ir ao servidor, se um índice foi criado (ou seja, Python).
O mesmo que acima
Sim, os índices são armazenados no MongoDB na própria coleção (para ser técnico, como um namespace dentro do
db.ns
Arquivo). Como é um ponto único de conhecimento para ensureIndex
e um índice é um processo único (muito parecido com o bloqueio de gravação), várias conexões não devem afetar se a criação do índice é registrada duas vezes.