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

Mongodb non si aggiorna quando lo uso in questo modo

{_where : what } tratta _where come String letterale, che equivale a:{"_where":what} . Quindi non ottieni alcun risultato aggiornato poiché non ci sono campi come _where . Devi assegnarlo nel modo seguente per farlo funzionare.

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; risolve il valore in _where variabile.