Saya pada dasarnya akan menampar komentar saya sebagai jawaban:
Untuk menjelaskan lebih lanjut, ketika Anda menggunakan findAndModify
ke $inc
dan kembali dari koleksi counter yang _id
maka harus unik bahwa menjalankan skrip itu dan penyisipan dokumen sebagai konsekuensinya. Pada dasarnya tidak akan ada kondisi balapan dalam metode ini.
Ini berarti Anda akan memerlukan semacam fungsi induk seperti insertWithAI
yang akan melakukan panggilan balik pertama menggunakan findAndModify
untuk menyambungkan panggilan balik penyisipan yang terakhir tetapi pada akhirnya Anda hanya perlu dua panggilan balik.