MongoDB
 sql >> Cơ Sở Dữ Liệu >  >> NoSQL >> MongoDB

Cập nhật mảng trong mongo và nâng cấp

Có một tùy chọn để đạt được những gì bạn muốn.

// 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. MongoDB - Lợi thế của việc sử dụng chuỗi 12 byte làm mã định danh duy nhất thay vì giá trị gia tăng

  2. Kết nối với MongoDB ReplicaSet trên Kubernetes

  3. Sử dụng tổng hợp để sắp xếp theo điều kiện phức tạp trong Mongodb

  4. Tìm phần tử tối đa bên trong một mảng

  5. Không bao gồm các trường $ khi lấy tài liệu từ MongoDB