Я продолжаю читать сообщения о том, что не следует использовать 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.
Спасибо!