ya, kode di atas berfungsi dengan baik. Sekarang saya tahu di mana kesalahan saya. Saya ingin melakukannya anti peluru, jadi saya pikir akan lebih baik menggunakan save() pada DBCollection di akhir dan secara eksplisit menyimpan daftar belanja DBObject:
shoppingLists.save( shoppingList );
Saya sekarang membaca di beberapa forum lain bahwa objek yang Anda ambil dari database kemudian tidak disinkronkan dengan database setelahnya (kedengarannya agak logis bagi saya sekarang :)). Jadi saya menimpa perubahan sendiri setiap waktu. Setelah menghapus baris di atas itu berhasil :)
Jadi satu aturan penting:Saat Anda memperbarui DBCollection
– ini dikirim langsung ke database! – jangan simpan DBObject
yang Anda tanyakan sebelum pembaruan! Ini akan menimpa pembaruan Anda!