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

Jak používat findAndModify s ovladačem Node.js MongoDB?

findAndModify metoda má následující podpis

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

kde

  • query <object> :Objekt dotazu k vyhledání objektu, který chcete upravit.
  • sort <array> :Pokud se shoduje více dokumentů, vyberte jako objekt, se kterým chcete manipulovat, první z nich v určeném pořadí řazení.
  • doc <object> :Pole/hodnoty, které mají být aktualizovány.
  • options <object> volitelné:Volitelná nastavení.

Důvodem, proč se vám zobrazuje chyba, je sort chybí specifikace a místo toho čte aktualizaci doc jako sort parametr.

Parametr řazení musíte zadat následovně:

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. 5 způsobů, jak získat milisekundy z data v MongoDB

  2. Nelze upgradovat sharded mongoDB nebo zastavit balancer

  3. Docker-compose – Redis na 0.0.0.0 místo 127.0.0.1

  4. Nelze použít Nested VariableOperators.mapItemsOf v Spring Data MongoDb