Как добиться разбиения на страницы в mongoDB без использования $facet, поскольку AZURE и AWS его не поддерживают

У меня есть коллекция, как показано ниже

[
  {
    _id: id1,
    user: user1,
    city: "test1"
  },
  {
    _id: id2,
    user: user2,
    city: "test1"
  },
  {
    _id: id3,
    user: user3,
    city: "test2"
  },
.....
]

Я хочу получить что-то вроде, далее я хочу отсортировать результаты на основе _id и т. д.

[
  results: [
    {
      _id: id1,
      user: user1,
      city: "test1"
    },
    {
      _id: id1,
      user: user2,
      city: "test1"
    },
   ...
  ],
  totalResults: 220,
  pageNumber: 2
]

Я также использую Moongoose в своем проекте


person Ankur Vishnoi    schedule 10.04.2020    source источник
comment
Отвечает ли это на ваш вопрос? Реализация нумерации страниц в mongodb   -  person whoami - fakeFaceTrueSoul    schedule 10.04.2020
comment
Нет... речь идет о курсоре, я хочу отправить дополнительные сведения, такие как общее число результатов и номер текущей страницы. и т.д. вместе с результатами   -  person Ankur Vishnoi    schedule 10.04.2020
comment
Что вы подразумеваете под totalResults и pageNumber? Для разбивки на страницы из кода вы должны передать n num of results wanted и nth page в БД (вы можете вернуть n, просто чтобы убедиться, когда вы запросили 20, но у него только 10) .. !! Попробуйте это :: (stackoverflow.com/questions /24160037/)   -  person whoami - fakeFaceTrueSoul    schedule 10.04.2020
comment
Привет @whoami, Под общими результатами подразумевается, сколько результатов у нас есть, я хочу отправить эту информацию с сервера, так как предел покажет только это количество. например, у меня есть 72 результата в запросе, и я могу перемещаться по всем этим результатам, используя лимит и пропуск. Но как я узнаю, что у нас есть 72 результата, так как ограничение в 10 будет отправлять только 10 результатов по запросу   -  person Ankur Vishnoi    schedule 10.04.2020
comment
Хорошо, если вам нужно общее количество документов в Coll & pagination, $facet будет лучшим выбором.   -  person whoami - fakeFaceTrueSoul    schedule 10.04.2020
comment
@whoami, я уже упоминал, что AZURE и AWS не поддерживают $facet. и мой сайт находится на Azure. Согласно приведенным ниже документированным ссылкам, AZURE и AWS не поддерживают $facet. docs.microsoft.com/ es-es/azure/cosmos-db/ docs.aws.amazon.com/documentdb/latest/developerguide/   -  person Ankur Vishnoi    schedule 10.04.2020
comment
Вы можете получить это с помощью определенных трюков в агрегации, но выполнение этого подсчета и разбивки на страницы за один раз с использованием агрегации без $facet может оказаться неосуществимым, поэтому вам лучше разделить его на два вызова db.collection.count() и разбиение на страницы.. Или если ваш портал находится на пустом месте на этапе попробуйте переключить свою БД на mongoDB Atlas (облачное решение для БД, предоставленное mongo)..   -  person whoami - fakeFaceTrueSoul    schedule 10.04.2020
comment
Не могли бы вы поделиться примером?   -  person Ankur Vishnoi    schedule 11.04.2020