sql >> Database teknologi >  >> NoSQL >> MongoDB

MongoDB Update array-element (dokument med en nøgle), hvis det findes, ellers push

Du kan bruge $addToSet for at tilføje et element til arrayet og $set for at opdatere et eksisterende element i dette array.

Følgende vil tilføje et nyt element til arrayet, hvis userID findes ikke i arrayet :

db.doc.update({
    visits: {
        "$not": {
            "$elemMatch": {
                "userID": 4
            }
        }
    }
}, {
    $addToSet: {
        visits: {
            "userID": 4,
            "time": 1482607614
        }
    }
}, { multi: true });

Følgende vil opdatere underdokumentarrayelementet, hvis det matcher userId :

db.doc.update({ "visits.userID": 2 }, {
    $set: {
        "visits.$.time": 1482607614
    }
}, { multi: true });



  1. Sådan gør du:Brug Apache HBase REST-grænsefladen, del 1

  2. Hvordan beregner man procentdelen ved hjælp af facet i MongoDB?

  3. forespørgselsargument for mongoexport

  4. MongoDB $gulv