Du vil bruge update kommando på din samling som følger (eksempel):
db.collection.update(
{ "my_array.title" : "title_one" },
{ $inc : { "my_array.$.click_number" : 1 } }
);
Hvad skete der lige?
På den første parameter i update du definerer en query for at matche dokumenter, du ønsker at opdatere. Vi søger efter en ejendom med navnet title inde i arrayet kaldet my_array . Du kan matche mod body eller email selvfølgelig ved at ændre priknotationen til:"my_array.email" .
Den anden parameter definerer opdateringen, den ændring, der skal anvendes. Vi har en $inc operatør for at øge felter, som vi bruger i denne erklæring. query vælger et dokument med det matchede array-element. Du kan nå ud til dette matchede matrixelement med $ notation. "my_array.$" vælger det matchede array-element, som har en title , email og body . Hvis du forsøger at give værdi til et ikke-eksisterende felt, vil MongoDB gøre det for dig. Hvis feltet ikke eksisterer, $inc indstiller feltet til det angivne beløb. $inc operatøren accepterer positive og negative trinvise beløb.
Få mere at vide om opdateringskommandoen.
Et andet eksempel:
db.collection.update(
{ _id : "john", "my_array.email" : "email" },
{ $inc : { "my_array.$.click_number" : 1 } }
);