sql >> Database >  >> NoSQL >> MongoDB

Wijzig een bestaand object in een array, maar behoud nog steeds de uniciteit van de sleutel

Er zijn twee voorwaarden, denk ik:

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. Mongodb - bevraag de totalen van vandaag, de totalen van de week en de totalen van de maand in één zoekopdracht

  2. Wat is het nut van meerdere Redis-databases?

  3. Mongoose Model.find is geen functie?

  4. Aggregate framework kan geen indexen gebruiken