sql >> Database teknologi >  >> NoSQL >> MongoDB

mongodb sæt feltværdi ved hjælp af hvis andet under dokumentopdatering

MongoDB understøtter ikke den slags betingede opdatering, du leder efter. Du kan dog stadig gøre det bedre end at bruge en find, loop og gem tilgang.

Flyt tilstandskontrollen til update forespørgselsvælger og udsend derefter to opdateringer (en for hvert tilfælde) ved hjælp af {multi: true} for at anvende opdateringen på alle matchede dokumenter.

// 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. Sådan bruger du kryptering til at beskytte MongoDB-data

  2. mongodb-forespørgselsopdatering vælg indlejrede felter

  3. Node.js og Mongodb - TypeError:undefined er ikke en funktion

  4. Mongodump får tomme mapper