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

MongoDB $podłoga

W MongoDB $floor Operator potoku agregacji zwraca największą liczbę całkowitą mniejszą lub równą podanej liczbie.

$floor akceptuje każde prawidłowe wyrażenie, które prowadzi do liczby.

Przykład

Załóżmy, że mamy kolekcję o nazwie test z następującymi dokumentami:

{ "_id" : 1, "data" : 8.99 }
{ "_id" : 2, "data" : 8.01 }
{ "_id" : 3, "data" : -8.99 }
{ "_id" : 4, "data" : -8.01 }
{ "_id" : 5, "data" : 8 }

Możemy użyć $floor operator do zwrócenia największej liczby całkowitej mniejszej lub równej data pole:

db.test.aggregate(
  [
    { $project: { 
        data: 1,
        floor: { $floor: "$data" }
      }
    }
  ]
)

Wynik:

{ "_id" : 1, "data" : 8.99, "floor" : 8 }
{ "_id" : 2, "data" : 8.01, "floor" : 8 }
{ "_id" : 3, "data" : -8.99, "floor" : -9 }
{ "_id" : 4, "data" : -8.01, "floor" : -9 }
{ "_id" : 5, "data" : 8, "floor" : 8 }

W tym przykładzie data pole to oryginalna wartość, a floor pole jest dołem tej wartości.

Wartości puste

Wartości null zwracają null podczas korzystania z $floor operatora.

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

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

Zastosujmy $floor operatora względem tego dokumentu:

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

Wynik:

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

Widzimy, że wynikiem jest null .

Wartości NaN

Jeśli argument kończy się na NaN , $floor zwraca NaN .

Przykład:

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

Wynik:

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

Nieistniejące pola

Jeśli $floor operator jest stosowany do pola, które nie istnieje, null jest zwracany.

Przykład:

db.test.aggregate(
  [
    { $match: { _id: 1 } },
    { $project: { 
        floor: { $floor: "$name" }
      }
    }
  ]
)

Wynik:

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

  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Kroki instalacji MongoDB na Amazon Linux

  2. ustaw pole jako puste dla obiektu mongo za pomocą mongoose

  3. Jak skonfigurować MongoDB tak, aby uwzględniał UTF-8?

  4. Mongoengine:ConnectionError:Nie zdefiniowałeś domyślnego połączenia

  5. MongoDB - czy DBREF jest konieczny?