sql >> Database teknologi >  >> NoSQL >> MongoDB

Få en optælling af samlede dokumenter med MongoDB, når du bruger limit

Mongodb 3.4 har introduceret $facet aggregering

som behandler flere aggregeringspipelines inden for en enkelt fase på det samme sæt inputdokumenter.

Brug af $facet og $group du kan finde dokumenter med $limit og kan få det samlede antal.

Du kan bruge nedenstående aggregering i mongodb 3.4

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

Selv du kan bruge $count aggregering, som er blevet introduceret i mongodb 3.6 .

Du kan bruge nedenstående aggregering i mongodb 3.6

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


  1. Forskellen mellem at gemme heltal og strenge i Redis

  2. Hvordan installeres tidligere version af mongodb med homebrew?

  3. Mongodb - Forskellen mellem at køre mongo- og mongod-databaser

  4. Bedste måde at gemme dato/tid i mongodb