Vuoi usare l'update comando sulla tua collezione come segue (esempio):
db.collection.update(
{ "my_array.title" : "title_one" },
{ $inc : { "my_array.$.click_number" : 1 } }
);
Cos'è appena successo?
Sul primo parametro di update definisci una query per abbinare i documenti che desideri aggiornare. Cerchiamo una proprietà denominata title all'interno dell'array chiamato my_array . Potresti confrontare body o email ovviamente modificando la notazione del punto in:"my_array.email" .
Il secondo parametro definisce l'aggiornamento, la modifica da applicare. Abbiamo un $inc operatore per incrementare i campi, che utilizziamo in questa istruzione. La query seleziona un documento con l'elemento della matrice corrispondente. Puoi raggiungere questo elemento dell'array abbinato con il $ notazione. Il "my_array.$" seleziona l'elemento dell'array corrispondente, che ha un title , email e body . Se provi a dare valore a un campo non esistente, MongoDB lo farà per te. Se il campo non esiste, $inc imposta il campo sull'importo specificato. Il $inc l'operatore accetta importi incrementali positivi e negativi.
Ulteriori informazioni sul comando update.
Un altro esempio:
db.collection.update(
{ _id : "john", "my_array.email" : "email" },
{ $inc : { "my_array.$.click_number" : 1 } }
);