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

Uzyskaj całkowitą liczbę dokumentów w MongoDB podczas korzystania z limitu

Mongodb 3.4 wprowadził $facet agregacja

który przetwarza wiele potoków agregacji w jednym etapie na tym samym zestawie dokumentów wejściowych.

Korzystanie z $facet i $group możesz znaleźć dokumenty z $limit i może uzyskać całkowitą liczbę.

Możesz użyć poniższej agregacji w mongodb 3.4

db.collection.aggregate([
  { "$facet": {
    "totalData": [
      { "$match": { }},
      { "$skip": 10 },
      { "$limit": 10 }
    ],
    "totalCount": [
      { "$group": {
        "_id": null,
        "count": { "$sum": 1 }
      }}
    ]
  }}
])

Nawet możesz użyć $count agregacja, która została wprowadzona w mongodb 3.6 .

Możesz użyć poniższej agregacji w mongodb 3.6

db.collection.aggregate([
  { "$facet": {
    "totalData": [
      { "$match": { }},
      { "$skip": 10 },
      { "$limit": 10 }
    ],
    "totalCount": [
      { "$count": "count" }
    ]
  }}
])


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. mongodb dodaje licznik do każdego pobranego dokumentu

  2. Wypełnianie mangusty a zagnieżdżanie obiektów

  3. Wstaw element do zagnieżdżonych tablic w MongoDB

  4. mongodb jak uzyskać maksymalną wartość z kolekcji

  5. Jak zabezpieczyć bazy danych Open Source za pomocą ClusterControl