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

Mongodb opdaterer ikke, når jeg bruger sådan

{_where : what } behandler _where som en String literal, hvilket svarer til:{"_where":what} . Derfor får du ingen opdaterede resultater, da der ikke er noget felt såsom _where . Du skal tildele den på nedenstående måde for at få den til at fungere.

exports.updateUsers = function ( user_id, where, what, pass )  {
    var _where = 'settings.'+where; //when I use it doesn't update
    var update = {};
    update[_where] = what;
    user.findOneAndUpdate(
          {'user_id' : user_id}, 
          update).exec(function(e,d){
            pass("ok")
          })
};

update[_where] = what; løser værdien i _where variabel.



  1. ruby redis klientscanning vs nøgler

  2. Hvordan laver man en Mongo-aggregeringsforespørgsel i Spring Data?

  3. StackExchange TimeoutException ved forsøg på at indsætte 750 elementer i 2 sæt i redis

  4. Hvordan får man opdateret dokument tilbage fra findOneAndUpdate-metoden?