Quiere usar la update
comando en su colección de la siguiente manera (ejemplo):
db.collection.update(
{ "my_array.title" : "title_one" },
{ $inc : { "my_array.$.click_number" : 1 } }
);
¿Qué acaba de pasar?
En el primer parámetro de update
defines una query
para hacer coincidir los documentos que desea actualizar. Buscamos una propiedad llamada title
dentro de la matriz llamada my_array
. Podría coincidir con body
o email
por supuesto, modificando la notación de puntos a:"my_array.email"
.
El segundo parámetro define la actualización, la modificación a aplicar. Tenemos un $inc
operador para incrementar campos, que usamos en esta instrucción. La query
selecciona un documento con el elemento de matriz coincidente. Puede alcanzar este elemento de matriz coincidente con $
notación. El "my_array.$"
selecciona el elemento de matriz coincidente, que tiene un title
, email
y body
. Si intenta dar valor a un campo que no existe, MongoDB lo hará por usted. Si el campo no existe, $inc
establece el campo en la cantidad especificada. El $inc
el operador acepta cantidades incrementales positivas y negativas.
Obtenga más información sobre el comando de actualización.
Otro ejemplo:
db.collection.update(
{ _id : "john", "my_array.email" : "email" },
{ $inc : { "my_array.$.click_number" : 1 } }
);