Я использую nodejs
с mon goose библиотеку для моего взаимодействия с mongoDB.
Я создаю запрос целевой страницы (например, страницу Netflix), и мне нужно получить ~ 15 результатов для каждой категории (например, «Комедия», «Ужасы», «Драма» ...).
Похоже, это не лучшее решение для отправки запроса для каждой "категории" и решения проблем с обратным вызовом, а также тяжелого запроса к базе данных для простой загрузки страницы ... как показано ниже:
const categories = ['horror','drama','comedy']
let counterCallback = 0
let allShows = []
categories.map(category =>{
Show.find({category: category},{limit: 15}, (err, shows)=>{
if(shows){ allShows.push(shows)}
allShows++
if(allShows === categories.length){ return res.json(allShows) }
})
})
Возможно, я думал о том, чтобы сделать запрос $or
, но я не могу ограничить число для каждого "или" s ...
const categories = ['horror','drama','comedy']
Show.find({
$or:categories.map(category=> {return {category: category} })
},{limit: 10})
Как я могу добиться запроса, ограничивающего количество результатов по «категории»?
Спасибо