MongoDB
 sql >> Base de données >  >> NoSQL >> MongoDB

Mongodb ne se met pas à jour lorsque j'utilise comme ça

{_where : what } traite _where sous forme de String littéral, qui équivaut à :{"_where":what} . Par conséquent, vous n'obtenez aucun résultat mis à jour car il n'y a pas de champ tel que _where . Vous devez l'attribuer de la manière ci-dessous pour qu'il fonctionne.

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; résout la valeur dans le _where variables.