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

Hvordan bruger man findAndModify med en Node.js MongoDB-driver?

findAndModify metoden har følgende signatur

findAndModify(query, sort, doc, options, callback)

hvor

  • forespørgsel :Forespørgselsobjektet til at finde det objekt, der skal ændres.
  • sortér :Hvis flere dokumenter matcher, skal du vælge det første i den angivne sorteringsrækkefølge som det objekt, der skal manipuleres.
  • doc :De felter/værdier, der skal opdateres.
  • indstillinger valgfrit:Valgfri indstillinger.

Grunden til, at du får fejlen, er fordi sorteringen specifikationen mangler, og i stedet læser den opdateringen doc som sort parameter.

Du skal angive sorteringsparameteren som følger:

db.get().collection('bars').findAndModify(
    { "barID": req.body.button },   // query
    [ ["barID", 1] ],               // sort
    {
        "$push": {                   // doc
            "usersfbID": req.body.profileUser[0].facebookID,
            "usersDocID": req.body.profileUser[0]._id
        }
    },
    { "new": true },                // options
    function(err, doc){             // callback
        if (err){
            throw err;
        } else if(doc){
            console.log('Existing document updated successfully');
            console.log(doc);
        }
    }
);



  1. MongoDb PHP driver installationsproblem på wamp

  2. MongoDB med java Undtagelse i trådens hoved java.lang.NoClassDefFoundError:org/bson/conversions/Bson

  3. Forbindelse til MongoDB ReplicaSet på Kubernetes

  4. MongoDB $toInt