У меня есть БД с 6 документами, и вот мой маршрут:
router.get('', async (req, res) => {
const search = req.query.search !=null ? req.query.search : "";
const page = req.query.page !=null ? req.query.page : 1;
const limit = req.query.limit !=null ? req.query.limit : 4;
try {
User.paginate({fullname: {$regex: search, $options: '-i'}}, {page: page, limit: limit, customLabels: myCustomLabels, select:'-email -password'}, async (err, result) => {
res.json(result)
}
);
}
catch(e){
res.status(500).json({ message: 'somthing went wrong, try again... ERROR :' + e });
}
})
В первом ответе (1 страница, 4 элемента) я вижу, что общее количество документов составляет 6, но когда я отправил второй запрос (для 2-ой страницы), он говорит, что общее количество douments составляет 5, и послал только один документ в массиве. Если я изменю количество элементов на странице на 5 - второй запрос также отправит пустой массив. Я не понимаю, почему один документ всегда теряется
UPD: он работает правильно, когда я удаляю {полное имя: {$ regex: search, $ options: '-i'}}
I понятия не имею, почему это потеряно с опцией регулярных выражений. Спасибо!