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

Agregacja MongoDB:Jak uzyskać całkowitą liczbę rekordów?

Od wersji 3.4 (chyba) MongoDB ma teraz nowego operatora potoku agregacji o nazwie „aspekt”, który własnymi słowami:

Przetwarza wiele potoków agregacji w jednym etapie na tym samym zestawie dokumentów wejściowych. Każdy podpotok ma swoje własne pole w dokumencie wyjściowym, w którym jego wyniki są przechowywane jako tablica dokumentów.

W tym konkretnym przypadku oznacza to, że można zrobić coś takiego:

$result = $collection->aggregate([
  { ...execute queries, group, sort... },
  { ...execute queries, group, sort... },
  { ...execute queries, group, sort... },
  {
    $facet: {
      paginatedResults: [{ $skip: skipPage }, { $limit: perPage }],
      totalCount: [
        {
          $count: 'count'
        }
      ]
    }
  }
]);

Wynik będzie następujący (z całkowitymi wynikami dla ex 100):

[
  {
    "paginatedResults":[{...},{...},{...}, ...],
    "totalCount":[{"count":100}]
  }
]


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. mongodb nodejs - konwertowanie struktury kołowej

  2. Bezagentowe monitorowanie bazy danych za pomocą ClusterControl

  3. Nie można uruchomić/uruchomić lokalnego mongo db

  4. Jak wykonywać podstawowe operacje na zapytaniach w MongoDB

  5. MongoDB $degreesToRadians