Basicamente, vou dar um tapa no meu comentário como resposta:
Para explicar mais, quando você usa
findAndModify
para $inc
e retornar da coleção de contadores que _id
deve então ser única a execução desse script e, portanto, a consequente inserção de um documento. Basicamente não haveria condição de corrida neste método. Isso significa que você precisará de algum tipo de função pai como
insertWithAI
que fará o primeiro retorno de chamada usando findAndModify
para encadear o último retorno de chamada de inserção, mas no final do dia você deve precisar apenas de dois retornos de chamada.