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

MongoDB $умножете

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

За да използвате $multiply оператор, предайте числата на оператора в масив.

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

Пример

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

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

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

Умножете 2 числа

Ето пример за умножаване на две числа заедно.

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

Резултат:

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

Умножете 3 числа

Ето го отново, освен че този път умножаваме и трите числа заедно.

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

Резултат:

{ "a" : 1000, "b" : 2, "c" : 3, "result" : 6000 }

Отрицателни стойности

Числата могат да бъдат положителни или отрицателни.

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

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

Сега нека стартираме предишните примери отново и да видим какво се случва:

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

Резултат:

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

И ето го с три числа:

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

Резултат:

{ "a" : 1000, "b" : 2, "c" : 3, "result" : 6000 }
{ "a" : 1000, "b" : -2, "c" : -3, "result" : 6000 }

Когато умножите отрицателно число по положително число, продуктът винаги е отрицателен. Но когато умножите две отрицателни числа или две положителни числа, продуктът винаги е положителен.

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

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

Пример:

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

Резултат:

{ "result" : 15000 }
{ "result" : 15000 }


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. MongoDB $sqrt

  2. $unwind празен масив

  3. Как да актуализирам документ на Mongo след поставянето му?

  4. Заявете MongoDB с израз на регулярен израз срещу ObjectId

  5. Документно-ориентираните бази данни са предназначени да заменят релационни бази данни?