MongoDB
 sql >> Base de données >  >> NoSQL >> MongoDB

Mongodb upsert ne met à jour que les champs sélectionnés, mais insère tous

MongoDB 2.4 a $setOnInsert

db.somecollection.update(
    {name: "some name"},
    {
        $set: {
            "lastseen": "2012-12-28"
        },
        $setOnInsert: {
            "firstseen": <TIMESTAMP>  # set on insert, not on update
        }
    },
    {upsert:true}
)