Tidak ada cara untuk melakukannya saat ini menggunakan operasi pembaruan reguler karena alasan yang Anda catat.
Satu-satunya solusi yang dapat Anda gunakan saat ini adalah menambahkan versi ke dokumen Anda dan menggunakan penguncian optimis dengan membaca dokumen, menemukan elemen yang sesuai untuk dimodifikasi dalam aplikasi Anda, mengubah nilainya, dan kemudian menggunakan update
yang menyertakan versi dalam dokumen baca (sehingga jika utas lain memperbarui dokumen antara kueri dan pembaruan Anda, Anda tidak akan menimpa perubahan tetapi harus memuat ulang dokumen dan mencoba lagi.
Strategi pembuatan versi tidak harus didasarkan pada seluruh dokumen, Anda dapat membuat versi elemen array tingkat pertama dan kemudian Anda akan dapat memperbarui hanya sub-array yang Anda perhatikan (melalui pembaruan dengan $set).