sql >> Base de Datos >  >> NoSQL >> MongoDB

Mongodb upsert solo actualiza los campos seleccionados, pero inserta todos

MongoDB 2.4 tiene $setOnInsert

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