Thu, 2 Apr 2015 5:26 pm
Magical #mongodb #enlightenment, perintah ini mencari dokumen sesuai "query", lalu meng-increment-kan nomor_agenda sejumlah 1, jika dokumen tidak ditemukan maka akan di-create ... dan ... hasil "atomic" ini akan mengembalikan value. Big WoW. Biasanya untuk menambah 1 setiap nomor agenda kita akan mengquery dulu nilai terakhir, lalu menambah satu dan terakhir update/insert sesuai nilai yang sudah ditambahkan. Cara ini sangat rawan terjadi kesalahan jika ada lebih dari 1 user mempost dalam waktu yang sama persis, dengan perintah mongo ini, hal seperti itu bisa diatasi ...
db.nomor_agenda.findAndModify({
    "query" : {"kode_jabatan": "02"},
    "update" : {"$inc" : {"nomor_agenda": 1}},
    "upsert" : true,
    "new" : true
})
#project
147
Additional Info: