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 } }
);