works with updateone updatemany update only nodejs multi example mongodb

with - update mongodb nodejs



MĂșltiples actualizaciones de $ inc en MongoDB (1)

¿Es posible actualizar un solo documento pasando dos operadores $ inc en un solo documento de actualización?

Por ejemplo, estoy tratando de incrementar dos campos diferentes en un documento dado usando el siguiente documento de actualización:

{ "$inc" : { "ViewAggregates.4d75b891842f2d3930cf7674" : 1 }, "$inc" : { "ViewAggregates.Total" : 1 } }

No se producen errores y el documento se actualiza, pero solo uno de los campos se ha incrementado. Es como si el servidor ignorara el primer operador de $ inc y solo el segundo se aplicara realmente.

¿Es este el comportamiento correcto / deseado o hay algo que me estoy perdiendo?


Este es un efecto secundario interesante de que las claves del diccionario son únicas: el segundo $inc sobrescribe el primero.

Sin embargo, todavía es posible incrementar más de un campo:

{ "$inc": { "ViewAggregates.4d75b891842f2d3930cf7674" : 1, "ViewAggregates.Total" : 1 } }

Esto también funciona para muchos otros operadores :-)