Puoi usare lo stesso campo in $set
e $unset
fasi della pipeline di aggregazione degli aggiornamenti.
Hai un errore di sintassi nella tua query. Secondo argomento per .update()
la funzione dovrebbe essere un array invece di un oggetto. Rimuovi le parentesi graffe attorno a []
e la query funzionerà.
db.getCollection('name').update(
{"bid": "3860"},
[
{
"$set": {
"tl": {
$add: [
{
$multiply: ["$intField", 24*60*60*1000 ]
},
"$dateField"
]
}
}
},
{ "$unset": 'intField' }
]
);