MongoDB
 sql >> Base de Dados >  >> NoSQL >> MongoDB

Como usar $ add dentro da função update() no Mongo?


Esse erro significa que você está tentando usar um nome de campo que é inválido no MongoDB -- que seria um nome de campo com um ponto ("".") ou um nome de campo contendo um cifrão.

$set é usado para substituir um campo em sua totalidade, então o que você tem acima está dizendo "substituir o conteúdo do commitCount campo com o documento {$add: ['$commitCount', 1]} ", que é um documento inválido.

Para incrementar ou decrementar atomicamente o valor de um campo (assumindo que o valor atual do campo é um número) use o $inc modificador:
db.deal.update({dealId: 201}, {$inc: {commitCount: 1}})