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