Chcesz użyć update
polecenie w swojej kolekcji w następujący sposób (przykład):
db.collection.update(
{ "my_array.title" : "title_one" },
{ $inc : { "my_array.$.click_number" : 1 } }
);
Co się właśnie stało?
Na pierwszym parametrze update
definiujesz query
aby dopasować dokumenty, które chcesz zaktualizować. Szukamy właściwości o nazwie title
wewnątrz tablicy o nazwie my_array
. Możesz dopasować do body
lub email
oczywiście zmieniając notację z kropką na:"my_array.email"
.
Drugi parametr określa aktualizację, modyfikację do zastosowania. Mamy $inc
operator do inkrementacji pól, których używamy w tej instrukcji. query
wybiera dokument z dopasowanym elementem tablicy. Możesz sięgnąć po ten dopasowany element tablicy za pomocą $
notacja. "my_array.$"
wybiera pasujący element tablicy, który ma title
, email
i body
. Jeśli spróbujesz nadać wartość nieistniejącemu polu, MongoDB zrobi to za Ciebie. Jeśli pole nie istnieje, $inc
ustawia pole na określoną kwotę. $inc
operator akceptuje dodatnie i ujemne kwoty przyrostowe.
Dowiedz się więcej o poleceniu update.
Inny przykład:
db.collection.update(
{ _id : "john", "my_array.email" : "email" },
{ $inc : { "my_array.$.click_number" : 1 } }
);