Mengeposkan jawaban saya sendiri agar ini tidak tetap terbuka:
Model versi 4 (stabil dirilis pada 25-03-2015) sekarang memperlihatkan hydrate()
metode. Tak satu pun dari bidang akan ditandai sebagai kotor awalnya, yang berarti panggilan ke save()
tidak akan melakukan apa pun sampai bidang dimutasi.
Sangat penting untuk dicatat bahwa ini dimaksudkan untuk digunakan untuk mengonversi objek JS biasa yang dimuat dari database menjadi dokumen luwak. Jika Anda menerima dokumen dari layanan REST atau semacamnya, Anda harus menggunakan findById()
dan update()
.
Bagi mereka yang hidup dalam bahaya:
Jika Anda benar-benar ingin memperbarui dokumen yang ada tanpa menyentuh database, saya kira Anda dapat memanggil hydrate()
, tandai bidang sebagai kotor, lalu panggil save()
. Ini tidak terlalu berbeda dengan metode pengaturan doc.isNew = false;
seperti yang saya sarankan dalam pertanyaan awal saya. Namun, Valeri (dari tim luwak) menyarankan untuk tidak melakukannya. Ini dapat menyebabkan kesalahan validasi dan masalah kasus tepi lainnya dan umumnya bukan praktik yang baik. findById sangat cepat dan tidak akan menjadi hambatan Anda.