MongoDB
 sql >> Baza danych >  >> NoSQL >> MongoDB

wstawić pole w poddokumencie w tablicy według indeksu w MongoDB

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



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. base64 do przewodnika do base64

  2. Znajdź w podwójnie zagnieżdżonej tablicy MongoDB

  3. Bezproblemowa skala dla Twoich serwerów MongoDB

  4. otrzymuję następujący błąd podczas łączenia się z serwerem mongodb

  5. Czy można stworzyć relacyjną bazę danych za pomocą MongoDB?