MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

MongoDB Aktualisieren Sie das Array-Element (Dokument mit einem Schlüssel), falls vorhanden, andernfalls drücken Sie

Sie können $addToSet verwenden um ein Element zum Array hinzuzufügen und $set um ein vorhandenes Element in diesem Array zu aktualisieren.

Im Folgenden wird dem Array ein neues Element hinzugefügt, wenn die userID wird nicht im Array :

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

Im Folgenden wird das Filialdokument-Array-Element aktualisiert, wenn es mit userId übereinstimmt :

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