Ten błąd oznacza, że próbujesz użyć nazwy pola, która jest nieprawidłowa w MongoDB — może to być nazwa pola z kropką (".") lub nazwa pola zawierająca znak dolara.
$set
służy do zastąpienia pola w całości, więc to, co masz powyżej, to "zamień zawartość commitCount
pole z dokumentem {$add: ['$commitCount', 1]}
", który jest nieprawidłowym dokumentem.
Aby niepodzielnie zwiększyć lub zmniejszyć wartość pola (zakładając, że bieżąca wartość pola jest liczbą) użyj $inc
modyfikator:
db.deal.update({dealId: 201}, {$inc: {commitCount: 1}})