MongoDB
 sql >> база данни >  >> NoSQL >> MongoDB

Възможно ли е да се върне изчислено поле от MongoDB заявка?

Новата рамка за агрегиране в MongoDB 2.2 ви позволява да добавяте изчислени полета чрез $project оператор. Това не е съвсем същото като произволно функции, защото трябва да използвате поддържани оператори , но предоставя доста голяма гъвкавост.

Ето вашия пример за увеличаване на _id s в нов myNum поле:

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. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. MongoDB - $addToSet в списък с вграден документ

  2. Mongodb -- включете или изключете определени елементи с c# драйвер

  3. MongoDB Намерете точно съвпадение на масива, но редът няма значение

  4. Актуализация на MongoDB:Генерирайте ново поле въз основа на съществуващо поле или актуализирайте на място

  5. Как да използвате събитията, пазете логиката на mongodb извън манипулаторите на заявки node.js