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

Je možné vrátit vypočítané pole z dotazu MongoDB?

Nový Agregační rámec v MongoDB 2.2 vám umožňuje přidávat vypočítaná pole prostřednictvím $project operátor. To není úplně totéž jako libovolná funkce, protože musíte použít podporované operátory , ale poskytuje značnou míru flexibility.

Zde je váš příklad zvýšení _id s do nového myNum pole:

MongoDB shell version: 2.2.0-rc0

> db.test.insert({_id:123});

> db.test.insert({_id:456});

> db.test.aggregate(
  { $project : {
      _id : 1,
     'myNum': { $add: [ "$_id", 1]}
  }}
)
{
    "result" : [
        {
            "_id" : 123,
            "myNum" : 124
        },
        {
            "_id" : 456,
            "myNum" : 457
        }
    ],
    "ok" : 1
}



  1. nelze získat data z databáze po deklaraci více schémat (mongoose + express + mongodb

  2. Jaká je maximální velikost hodnoty, kterou můžete uložit v redis?

  3. Použití funkce Mongoose / MongoDB $addToSet na poli objektů

  4. Jak přimět Redis, aby zvolil politiku vystěhování LRU pouze pro některé klíče?