MongoDB
 sql >> Baza danych >  >> NoSQL >> MongoDB

Zmień istniejący obiekt w tablicy, ale nadal zachowaj unikalność klucza

Sądzę, że są dwa warunki:

var newName = "somename";
var oldName = "nick";
var newOption = 3;

// if not change the name
db.coll.update({
    _id : id,
    'profile_set.name' : oldName
}, {
    $set : {
        "profile_set.$.options" : newOption
    }
});

// if change the name
db.coll.update({
    _id : id,
    $and : [ {
        'profile_set.name' : {
            $ne : newName
        }
    }, {
        'profile_set.name' : oldName    
    } ]
}, {
    $set : {
        "profile_set.$.name" : newName,
        "profile_set.$.options" : newOption

    }
});



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Zaktualizuj jedno pole w MongoDB w jednym osadzonym dokumencie

  2. $addToSet do tablicy, ale daje mi null

  3. Jak w MongoDB użyć $set do aktualizacji zagnieżdżonej wartości/osadzonego dokumentu?

  4. Zapytanie MongoDB $in z tablicą wyrażeń regularnych elementu

  5. Jak uzyskać długość kursora z mongodb za pomocą Pythona?