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

MongoDB $inc

MongoDB ma $inc operator aktualizacji pola, który pozwala zwiększyć wartość o określoną kwotę.

Możesz używać wartości dodatnich i ujemnych (np. do zwiększania lub zmniejszania wartości).

Jeśli pole jeszcze nie istnieje, jest tworzone z określoną wartością.

Przykład

Załóżmy, że mamy kolekcję o nazwie dogs z następującym dokumentem:

{ "_id" : 1, "name" : "Wag", "weight" : 10 }

Tutaj weight pole zawiera wartość, którą można zwiększyć lub zmniejszyć.

Przyrost

Możemy użyć $inc operator w połączeniu z update() metoda na zwiększenie wagi tego psa.

Tak:

db.dogs.update(
  { _id: 1 },
  { $inc: { weight: 5 } }
)

Wyjście:

WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })

To mówi nam, że jeden dokument został dopasowany i zmodyfikowany.

Sprawdźmy jeszcze raz kolekcję:

db.dogs.find()

Wynik:

{ "_id" : 1, "name" : "Wag", "weight" : 15 }

Widzimy, że waga psa wzrosła o 5.

Zmniejsz

Możesz zmniejszyć wartość, podając wartość ujemną do $inc operatora.

Tak:

db.dogs.update(
  { _id: 1 },
  { $inc: { weight: -5 } }
)

Wyjście:

WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })

Sprawdź kolekcję:

db.dogs.find()

Wynik:

{ "_id" : 1, "name" : "Wag", "weight" : 10 }

Widzimy, że waga została zmniejszona o 5.

Zwiększ pole, które nie istnieje

Kiedy zwiększasz pole, które nie istnieje w dokumencie, pole to jest dodawane i przypisywane jest mu określona wartość.

Przykład:

db.dogs.update(
  { _id: 1 },
  { $inc: { weight: 1, height: 30 } }
)

Wyjście:

WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })

Zauważ, że zaktualizowaliśmy dwa pola; weight pole i height pole (które pierwotnie nie istniało).

Sprawdźmy ponownie dokument:

db.dogs.find()

Wynik:

{ "_id" : 1, "name" : "Wag", "weight" : 11, "height" : 30 }

Widzimy, że weight pole zostało zwiększone o 1 i nową height dodano pole z określoną wartością 30 .


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Jak automatyzacja baz danych MongoDB poprawia bezpieczeństwo

  2. Jak zmienić nazwy pól podczas wyszukiwania/rzutowania w MongoDB?

  3. MongoDB:jak znaleźć 10 losowych dokumentów w kolekcji 100?

  4. zrozumieć system pamięci podręcznej MongoDB

  5. Usługa mongodb się nie uruchamia