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

MongoDB $ceil

В MongoDB, $ceil Операторът на конвейера за агрегиране връща най-малкото цяло число, по-голямо или равно на посоченото число.

$ceil приема всеки валиден израз, който се разрешава до число.

Пример

Да предположим, че имаме колекция, наречена test със следните документи:

{ "_id" : 1, "data" : 1.5 }
{ "_id" : 2, "data" : 1.01 }
{ "_id" : 3, "data" : -1.5 }
{ "_id" : 4, "data" : -1.01 }
{ "_id" : 5, "data" : 1 }

Можем да използваме $ceil оператор за връщане на тавана на data поле:

db.test.aggregate(
  [
    { $project: { 
        ceiling: { $ceil: "$data" }
      }
    }
  ]
)

Резултат:

{ "_id" : 1, "ceiling" : 2 }
{ "_id" : 2, "ceiling" : 2 }
{ "_id" : 3, "ceiling" : -1 }
{ "_id" : 4, "ceiling" : -1 }
{ "_id" : 5, "ceiling" : 1 }

Нулеви стойности

Нулевите стойности връщат null когато използвате $ceil оператор.

Да предположим, че добавяме следния документ към нашата колекция:

{ "_id" : 6, "data" : null }

Нека приложим $ceil оператор срещу този документ:

db.test.aggregate(
  [
    { $match: { _id: { $in: [ 6 ] } } },
    { $project: { 
        ceiling: { $ceil: "$data" }
      }
    }
  ]
)

Резултат:

{ "_id" : 6, "ceiling" : null }

Можем да видим, че резултатът е null .

NaN стойности

Ако аргументът се разреши до NaN , $ceil връща NaN .

Пример:

db.test.aggregate(
  [
    { $match: { _id: 1 } },
    { $project: { 
        ceiling: { $ceil: "$data" * 1 }
      }
    }
  ]
)

Резултат:

{ "_id" : 1, "ceiling" : NaN }

Несъществуващи полета

Ако $ceil операторът се прилага срещу поле, което не съществува, null се връща.

Пример:

db.test.aggregate(
  [
    { $match: { _id: 1 } },
    { $project: { 
        ceiling: { $ceil: "$age" }
      }
    }
  ]
)

Резултат:

{ "_id" : 1, "ceiling" : null }

  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Съхранявайте изображения в база данни на MongoDB

  2. Вземете брой на общите документи с MongoDB, когато използвате лимит

  3. Mongo – Игнорирайте собствеността, за да не бъде запазена

  4. Как да продължа вмъкването след грешка с дублиран ключ с помощта на PyMongo

  5. Индекс на поддокумента в mongo