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

proměnná s mongodb dotnotací

Objekt s variabilním klíčem musíte vytvořit samostatně, protože JS před ES2015 nepovoluje nic jiného než konstantní řetězce v doslovné syntaxi objektu:

var stuffID = 5
var stuff = {};                 // create an empty object
stuff['stuff.' + stuffID] = 1;  // and then populate the variable key

collection.update({
    "id": id,
}, {
    "$inc": stuff               // pass the object from above here
}, ...);

UPRAVIT v ES2015 je nyní možné použít výraz jako klíč v objektovém literálu pomocí [expr]: value syntaxe a v tomto případě také pomocí interpolace řetězce backtick ES2015:

var stuffID = 5;
collection.update({
    "id": id,
}, {
    "$inc": {
        [`stuff.${stuffID}`]: 1
    }
}, ...);

Výše uvedený kód funguje v Node.js v4+



  1. redis-py :Jaký je rozdíl mezi StrictRedis() a Redis()?

  2. $sum ze skupiny dokumentů a vnořených dokumentů od $author (MongoDB)

  3. Jak mohu zkombinovat dva příkazy $ a v příkazu $or v mongodb?

  4. mongodb, pymongo, agregát dává podivný výstup (něco o kurzoru)