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

Perbarui array di mongo dan upsert

Ada pilihan untuk mencapai apa yang Anda inginkan.

// step 1
var writeResult = db.collection.update({
    "providerId" : ID,
    "providers" : {
        $elemMatch : {
            "merchantId" : MERCHANTID
        }
    }
}, {
    $set : {
        "providers.$.merchantId" : MERCHANTID,
        "providers.$.name" : NAME,
        "providers.$.valid" : true,
        "providers.$.data" : DATA
    }
});


// step 2
if (!writeResult.nModified) { // if step 1 has succeeded on update, nModified == 1, else nModified == 0
    db.collection.update({
        "providerId" : ID,
        "providers.merchantId" : {
            $ne : MERCHANTID        // this criteria is necessary to avoid concurrent issue
        }
    }, {
        "$push" : {
            "prividers" : {
                "merchantId" : MERCHANTID,
                "name" : NAME,
                "valid" : true,
                "data" : DATA
            }
        }
    });
}



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Tidak dapat terhubung ke MongoDB Atlas menggunakan Mongoose dengan koneksi string

  2. Mongodb crash mendapat sinyal 15 (Dihentikan)

  3. Layanan 'MongoDB Server' (MongoDB) gagal dimulai. Verifikasi bahwa Anda memiliki hak yang cukup untuk memulai layanan sistem

  4. Mengindeks array paralel di Mongodb

  5. Temukan apakah objek diubah dalam pra-simpan kail luwak