sql >> Database >  >> NoSQL >> MongoDB

mongodb stelt veldwaarde in met if else tijdens documentupdate

MongoDB ondersteunt niet het soort voorwaardelijke update waarnaar u op zoek bent. U kunt echter nog steeds beter doen dan een zoek-, loop- en bewaarmethode te gebruiken.

Verplaats de conditiecontrole naar de update queryselector en geef vervolgens twee updates uit (één voor elk geval), met behulp van {multi: true} om de update toe te passen op alle overeenkomende documenten.

// 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. Een overzicht van database-indexering voor MongoDB

  2. Mongodb findOneAndUpdate-functie voegt nieuw document in

  3. mongo.so:> undefined symbool:php_json_encode in Unknown on line 0. Na installatie mongo-stuurprogramma voor php

  4. Mongo db met Monk:fouten opvangen en afhandelen als db niet werkt