Saya ingin tahu apakah pengemudi cukup pintar untuk hanya memperbarui sebagian kecil perubahan atau hanya memperbarui semuanya secara membabi buta?
Tidak, jika Anda menggunakan metode pembaruan "normal", seluruh objek akan dikirim melalui kabel. Saya menduga bahwa server basis data itu sendiri akan cukup pintar untuk hanya memperbarui indeks yang diperlukan (dan bukan indeks yang tidak berubah), jika memungkinkan (yaitu objek dapat diperbarui di tempatnya dan tidak perlu dipindahkan karena terlalu banyak tumbuh)
Yang dapat Anda lakukan adalah menggunakan fungsi "pengubah pembaruan atom". Dokumentasi Java agak ringan, tetapi karena driver hanya mentransmisikan JSON, hal-hal dari tutorial non-Java akan berfungsi, misalnya:
shapes.update((DBObject)JSON.parse( "{ 'foo' : 'bar'}"),
(DBObject) JSON.parse( "{ '$set' : { 'foo': 'bat'}}") );