Как я могу сделать нумерацию страниц, используя Mongoose и MongoDB - PullRequest
0 голосов
/ 29 июня 2019

Я продолжаю читать сообщения о том, что не следует использовать skip () и limit (), потому что он не будет масштабироваться, если в MongoDB более 1000 записей.

Итак, я на самом деле новичок в этом MERN и пытаюсь реализовать нумерацию страниц, но я даже не уверен, как правильно это сделать. Вот моя проблема:

router.get('/male', async (req, res) => {
  const current_id = await Posts.find({}).sort({ _id: -1 }).limit(1);
  // const current_id;
  const N = '/api/posts/male';
  const page_size = 15;
  try {
    const posts = await Post.find({ _id: { $lt: current_id } }).sort({ date: -1 }).skip((N - 1) * page_size).limit(page_size).
      res.json(posts);
  } catch (err) {
    console.error(err.message);
    res.status(500).send('Server error');
  }
});

Я получил этот пример из этой ранжированной разбивки MongoDB , и сейчас я просто пытаюсь реализовать ее на своем. Ссылки объявляют const current_id без значения, поэтому я предполагаю, что вам нужно передать последний вставленный идентификатор, который является причиной для выполнения первого запроса. То же самое относится (я должен был дать им значение) для констант N и page_size.

Извините за это, но я буквально новичок в этом, что означает $ lt в find ()?

Сейчас в консоли Devtools просто отображается ошибка 500.

Спасибо!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...