Fondamentalmente schiaffeggerò il mio commento come risposta:
Per spiegare di più, quando usi findAndModify
a $inc
e restituire dalla raccolta dei contatori quel _id
dovrebbe quindi essere unico che l'esecuzione di quello script e quindi il conseguente inserimento di un documento. Fondamentalmente non ci sarebbero condizioni di gara in questo metodo.
Ciò significa che avrai bisogno di una sorta di funzione genitore come insertWithAI
che eseguirà la prima richiamata dell'utilizzo di findAndModify
per concatenare quest'ultima richiamata di inserimento ma alla fine della giornata dovresti solo aver bisogno di due richiamate.