Lỗi đó có nghĩa là bạn đang cố sử dụng tên trường không hợp lệ trong MongoDB - đó sẽ là tên trường có dấu chấm (".") Trong đó hoặc tên trường có chứa ký hiệu đô la.
$set
được sử dụng để thay thế toàn bộ một trường, vì vậy những gì bạn nói ở trên là "thay thế nội dung của commitCount
trường có tài liệu {$add: ['$commitCount', 1]}
", là một tài liệu không hợp lệ.
Để tăng hoặc giảm nguyên tử giá trị của một trường (giả sử giá trị hiện tại của trường là một số), hãy sử dụng $inc
bổ ngữ:
db.deal.update({dealId: 201}, {$inc: {commitCount: 1}})