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

Mongodb se neaktualizuje, když používám takto

{_where : what } zpracovává _where jako String doslovný, což je ekvivalent:{"_where":what} . Proto nezískáte žádné aktualizované výsledky, protože zde není žádné pole jako _where . Aby to fungovalo, musíte jej přiřadit níže uvedeným způsobem.

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; řeší hodnotu v _where proměnná.



  1. mongodb javascript na straně serveru je vlastně na straně klienta?

  2. Ovladač Mongo C# - Dynamické vytváření filtru s vnořováním

  3. Mongodb - duplicitní pole v $set a $setOnInsert

  4. mongoose vynutit jedinečný atribut na vlastnosti vnořeného dokumentu