В случае сджоиненых и денормализированных данных все понятно – поля можно фильтровать прямо в запросе. А вот как быть в том случае, когда мы сначала дергаем продукты а потом отдельно юзеров?
Если без аггрегейшена то тоже можно руками джойнить. Например, если понятно, что юзеров не много, то выбрать их иды, а потом сделать запрос товаров с $in