sql >> Database >  >> NoSQL >> MongoDB

Hoe findAndModify te gebruiken met een Node.js MongoDB-stuurprogramma?

De findAndModify methode heeft de volgende handtekening

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

waar

  • query <object> :Het zoekobject om het te wijzigen object te vinden.
  • sort <array> :Als meerdere documenten overeenkomen, kiest u de eerste in de opgegeven sorteervolgorde als het te manipuleren object.
  • doc <object> :De velden/waarden die moeten worden bijgewerkt.
  • options <object> optioneel:optionele instellingen.

De reden waarom u de foutmelding krijgt, is omdat de sort specificatie ontbreekt en leest in plaats daarvan de update doc als de sort parameter.

U moet de sorteerparameter als volgt specificeren:

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. Meerdere velden in een MongoDB-document bijwerken

  2. Suggesties voor een eenvoudige .NET gedistribueerde caching-oplossing

  3. $push in MongoDb werkt niet?

  4. Vertraagde uitvoering / planning met Redis?