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

mongodb nastaví hodnotu pole pomocí if else během aktualizace dokumentu

MongoDB nepodporuje druh podmíněné aktualizace, kterou hledáte. Stále však můžete dělat lépe, než používat přístup hledání, smyčky a ukládání.

Přesuňte kontrolu stavu do update selektor dotazu a poté vydejte dvě aktualizace (jednu pro každý případ) pomocí {multi: true} aplikujte aktualizaci na všechny odpovídající dokumenty.

// Start with the "if" update
Documents.update(
    {some_condition: true, "some field": "some condition"}, 
    {$set: {"status": "value 1"}},
    {multi: true},
    function(err, numAffected) {
        // Now do the "else" update, using $ne to select the rest of the docs
        Documents.update(
            {some_condition: true, "some field": {$ne: "some condition"}}, 
            {$set: {"status": "value 2"}},
            {multi: true},
            function(err, numAffected) {
                // All done.
            }
        )
    }
)


  1. Vytvořte databázový klastr v cloudu pomocí MongoDB Atlas

  2. Klient GUI MongoDB (pro více platforem nebo Linux)

  3. Redis - Ruční povýšení podřízeného na master

  4. Problémy ve spojení mezi Node.js a kontejnerem MongoDB pomocí var. v Docker Compose