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

MongoDB $divide

В MongoDB, $divide Операторът на конвейера за агрегиране дели едно число на друго и връща резултата.

За да използвате $divide , предава числата в масив. $divide операторът ще раздели първото число на второто число. С други думи, първото число е делимото, а второто число е делителят.

Аргументите могат да бъдат всеки валиден израз, стига да се разделят на числа.

Пример

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

{ "_id" : 1, "a" : 1000, "b" : 2 }

Можем да използваме $divide оператор в рамките на конвейер за агрегиране, за да раздели едно от тези числа на другото.

db.data.aggregate(
   [
     { $project: { 
        _id: 0,
        a: 1,
        b: 1,
        result: { $divide: [ "$a", "$b" ] } } 
         }
   ]
)

Резултат:

{ "a" : 1000, "b" : 2, "result" : 500 }

Ако искаме да разделим b поле от a поле, ще трябва да ги разменим.

Пример:

db.data.aggregate(
   [
     { $project: { 
        _id: 0,
        a: 1,
        b: 1,
        result: { $divide: [ "$b", "$a" ] } } 
         }
   ]
)

Резултат:

{ "a" : 1000, "b" : 2, "result" : 0.002 }

Отрицателни числа

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

{ "_id" : 2, "a" : 1000, "b" : -2 }

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

Пример:

db.data.aggregate(
   [
     { $project: { 
        _id: 0,
        a: 1,
        b: 1,
        result: { $divide: [ "$a", "$b" ] } } 
         }
   ]
)

Резултат:

{ "a" : 1000, "b" : 2, "result" : 500 }
{ "a" : 1000, "b" : -2, "result" : -500 }

Тук се превключва, така че да разделим отрицателно число на положително число:

db.data.aggregate(
   [
     { $project: { 
        _id: 0,
        a: 1,
        b: 1,
        result: { $divide: [ "$b", "$a" ] } } 
         }
   ]
)

Резултат:

{ "a" : 1000, "b" : 2, "result" : 0.002 }
{ "a" : 1000, "b" : -2, "result" : -0.002 }

Добавете свой собствен номер

Не е задължително да сте ограничени само до числата в документа/ите. Можете да използвате свои собствени числа, ако трябва да разделите поле на фиксирана сума.

Пример:

db.data.aggregate(
   [
     { $project: { 
        _id: 0,
        result: { $multiply: [ "$a", 5 ] } } 
         }
   ]
)

Резултат:

{ "result" : 5000 }
{ "result" : 5000 }

  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Създаване на BSON обект от JSON низ

  2. MongoParseError:опциите useCreateIndex, useFindAndModify не се поддържат

  3. Как да видите вашата версия за съвместимост на функциите в MongoDB

  4. Как да съхранявам/показвам параграфи с mongodb?

  5. MongoDB $weeklyUpdate #66 (22 април 2022 г.):Хакатони, mongosh и Github