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

Вземете брой на общите документи с MongoDB, когато използвате лимит

Mongodb 3.4 въведе $facet агрегиране

който обработва множество конвейери за агрегиране в рамките на един етап на един и същ набор от входни документи.

Използване на $facet и $group можете да намерите документи с $limit и може да получи общ брой.

Можете да използвате агрегирането по-долу в mongodb 3.4

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

Дори и вие можете да използвате $count агрегиране, което е въведено в mongodb 3.6 .

Можете да използвате агрегирането по-долу в 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. В Mongo каква е разликата между разделяне и репликация?

  2. Условно групиране с $ съществува вътре в $cond

  3. Ако имам идентификатор на документ mongo като низ, как да го потърся като _id?

  4. Отношения на MongoDB:вграждане или справка?

  5. Мониторинг и защита на MongoDB с ClusterControl Advisors