Fragmen kode untuk memperbarui kebiasaan yang ada akan berfungsi dengan baik dengan beberapa koreksi kecil
- Saat menjalankan dalam kesalahan selalu gunakan
return
- Selalu kirim status kembali. Dalam hal ini kami akan mengirimkan 500
- Periksa tidak ditemukan dan kembalikan 404
- Gunakan objek pembaruan sederhana. Ini hanya akan memperbarui bidang yang terdapat dalam objek pembaruan
- Dokumen mongodb yang dikembalikan oleh biksu tidak memiliki fungsi simpan, dokumen perlu diperbarui melalui koleksi
- Periksa apakah permintaan memiliki isi dan kirim 400 - Permintaan Buruk
Anda dapat meneruskan id objek sebagai hex atau ObjectId ke findById
sebagaimana dinyatakan dalam dokumen Monk
.
router.put('/api/habits/:habit_id', function(req, rest){
var db = req.db;
var collection = db.get('habits');
if(!req.body) { return res.send(400); } // 6
collection.findById(req.params.habit_id, function(e,data){
if(e) { return res.send(500, e); } // 1, 2
if(!data) { return res.send(404); } // 3
var update = { title : req.body.title, count : req.body.count }; // 4
collection.updateById(req.params.habit_id, update, function(err) { // 5
if(err) {
return res.send(500, err);
}
res.json(data);
});
});
});
Kode di atas dapat disederhanakan lebih lanjut dengan menggunakan findAndModify
fungsi Biksu.