MongoDB
 sql >> Base de Dados >  >> NoSQL >> MongoDB

Agregação do Mongo com dados e totais paginados


Se você tiver muitos eventos, {$ push:"$$ ROOT"}, fará o Mongo retornar um erro, resolvi com $facet (funciona apenas com a versão 3.4+)
aggregate([
    { $match: options },
    {
      $facet: {
        edges: [
          { $sort: sort },
          { $skip: skip },
          { $limit: limit },
        ],
        pageInfo: [
          { $group: { _id: null, count: { $sum: 1 } } },
        ],
      },
    },
  ])