MongoDB
 sql >> Teknologi Basis Data >  >> NoSQL >> MongoDB

Masalah dengan permintaan PUT menggunakan Node.js (express), Angular, dan MongoDB

Fragmen kode untuk memperbarui kebiasaan yang ada akan berfungsi dengan baik dengan beberapa koreksi kecil

  1. Saat menjalankan dalam kesalahan selalu gunakan return
  2. Selalu kirim status kembali. Dalam hal ini kami akan mengirimkan 500
  3. Periksa tidak ditemukan dan kembalikan 404
  4. Gunakan objek pembaruan sederhana. Ini hanya akan memperbarui bidang yang terdapat dalam objek pembaruan
  5. Dokumen mongodb yang dikembalikan oleh biksu tidak memiliki fungsi simpan, dokumen perlu diperbarui melalui koleksi
  6. 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.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Mongodb - Pengurangan Peta - Data lengkap tidak dikembalikan

  2. Query Mongodb berdasarkan jumlah bidang dalam catatan

  3. Di Mongo apa perbedaan antara $near dan $nearSphere?

  4. Bidang luwak &unik

  5. Format Skema Mengubah Mongoose