Cette erreur signifie que vous essayez d'utiliser un nom de champ qui n'est pas valide dans MongoDB -- ce serait soit un nom de champ avec un point ("".") dedans, soit un nom de champ contenant un signe dollar.
$set
est utilisé pour remplacer un champ dans son intégralité, donc ce que vous avez ci-dessus dit "remplacer le contenu du commitCount
champ avec le document {$add: ['$commitCount', 1]}
", qui est un document invalide.
Pour incrémenter ou décrémenter atomiquement la valeur d'un champ (en supposant que la valeur actuelle du champ est un nombre), utilisez le $inc
modificateur :
db.deal.update({dealId: 201}, {$inc: {commitCount: 1}})