sql >> Databáze >  >> NoSQL >> MongoDB

MongoDB $ vč

MongoDB má $inc operátor aktualizace pole, který vám umožňuje zvýšit hodnotu o určitou částku.

Můžete použít kladné a záporné hodnoty (tj. ke zvýšení nebo snížení hodnoty).

Pokud pole ještě neexistuje, je vytvořeno se zadanou hodnotou.

Příklad

Předpokládejme, že máme sbírku nazvanou dogs s následujícím dokumentem:

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

Zde je weight pole obsahuje hodnotu, kterou lze zvýšit nebo snížit.

Přírůstek

Můžeme použít $inc operátor ve spojení s update() způsob, jak zvýšit hmotnost tohoto psa.

Takhle:

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

Výstup:

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

To nám říká, že jeden dokument byl spárován a upraven.

Podívejme se znovu na sbírku:

db.dogs.find()

Výsledek:

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

Můžeme vidět, že váha psa se zvýšila o 5.

Snížit

Hodnotu můžete snížit zadáním záporné hodnoty do $inc operátor.

Takhle:

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

Výstup:

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

Zkontrolujte sbírku:

db.dogs.find()

Výsledek:

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

Vidíme, že váha byla nyní snížena o 5.

Zvýšit pole, které neexistuje

Když zvýšíte pole, které v dokumentu neexistuje, pole se přidá a přiřadí mu zadanou hodnotu.

Příklad:

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

Výstup:

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

Všimněte si, že jsme aktualizovali dvě pole; weight pole a height pole (které původně neexistovalo).

Podívejme se znovu na dokument:

db.dogs.find()

Výsledek:

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

Vidíme, že weight pole bylo zvýšeno o 1 a novou height pole bylo přidáno se zadanou hodnotou 30 .


  1. vyhledávání podle ObjectId v mongodb pomocí pymongo

  2. Jak mohu použít operátor LIKE na mongoose?

  3. mongod Chyba HostnameCanonicalizationWorker v OS X

  4. Naklonujte sbírku v MongoDB