Tato chyba znamená, že se pokoušíte použít název pole, který je v MongoDB neplatný – mohl by to být buď název pole s tečkou (.""), nebo název pole obsahující znak dolaru.
$set
se používá k nahrazení celého pole, takže to, co máte výše, říká "nahradit obsah commitCount
pole s dokumentem {$add: ['$commitCount', 1]}
“, což je neplatný dokument.
Chcete-li atomicky zvýšit nebo snížit hodnotu pole (za předpokladu, že aktuální hodnotou pole je číslo), použijte $inc
modifikátor:
db.deal.update({dealId: 201}, {$inc: {commitCount: 1}})