Вот есть у нас допустим мероприятия и участники этих мероприятий. И нужно, значит, вывести 20 мероприятий и по 10 участников к каждому. Какие варианты?
1) сейчас сделано простыми такими запросами в цикле. И я не думаю, что это пиздец какое плохое решение, далее это будет видно
2) лучше всего это дело наверно сделано нативно в mongodb ($slice)
http://www.mongodb.org/display/DOCS/Retrieving+a+Subset+of+Fields
3) мы можем хранить айди 10 записей в таблице мероприятий, потом после выборки мероприятий через один where in выбрать нужных нам участников
4) типа того, но не храним а делаем group concat (получаем больше 10, но потом ограничиваем до 10)
5) выборка через переменные
Но тут задача несколько усложняется - выбирать нужно не просто 10 каких-то участников, а сортировать их по дате последнего визита (новые сверху). Вот тут у нас сразу отпадают варианты 2, 3.
А как бы вы решали такую задачу?