MongoDB
 sql >> Baza danych >  >> NoSQL >> MongoDB

MongoDB $dzielenie

W MongoDB $divide Operator potoku agregacji dzieli jedną liczbę przez drugą i zwraca wynik.

Aby użyć $divide , przekaż liczby w tablicy. $divide operator podzieli pierwszą liczbę przez drugą liczbę. Innymi słowy, pierwsza liczba to dzielna, a druga liczba to dzielnik.

Argumenty mogą być dowolnymi poprawnymi wyrażeniami, o ile są rozstrzygane na liczby.

Przykład

Załóżmy, że mamy kolekcję o nazwie data z następującym dokumentem:

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

Możemy użyć $divide operatora w potoku agregacji, aby podzielić jedną z tych liczb przez drugą.

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

Wynik:

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

Jeśli chcemy podzielić b pole przy a pola, musielibyśmy je zamienić.

Przykład:

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

Wynik:

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

Liczby ujemne

Załóżmy, że do naszej kolekcji dodamy następujący dokument:

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

Obejmuje to liczbę ujemną. Ale to nie problem, ponieważ liczba ujemna jest nadal liczbą i z pewnością możemy podzielić dowolną liczbę przez liczbę ujemną.

Przykład:

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

Wynik:

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

Tutaj jest przełączane, tak że liczbę ujemną dzielimy przez liczbę dodatnią:

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

Wynik:

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

Dodaj własny numer

Niekoniecznie jesteś ograniczony tylko do liczb w dokumencie/ach. Możesz użyć własnych liczb, jeśli chcesz podzielić pole przez ustaloną kwotę.

Przykład:

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

Wynik:

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

  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Jak wykonać zagnieżdżone wyszukiwanie $lookup w MongoDB?

  2. MongoDB findAndModify()

  3. Sprawdź, czy każdy element w tablicy pasuje do warunku

  4. MongoDB $pomnóż

  5. Jak Trello przechowuje dane w MongoDB? (Zbiór na tablicę?)