Vous pouvez utiliser le même champ dans $set
et $unset
étapes du pipeline d'agrégation des mises à jour.
Vous avez une erreur de syntaxe dans votre requête. Deuxième argument de .update()
La fonction doit être un tableau au lieu d'un objet. Supprimez les accolades autour de []
et la requête fonctionnera.
db.getCollection('name').update(
{"bid": "3860"},
[
{
"$set": {
"tl": {
$add: [
{
$multiply: ["$intField", 24*60*60*1000 ]
},
"$dateField"
]
}
}
},
{ "$unset": 'intField' }
]
);