Ну, у MongoDB на самом деле нет «реляционных» функций, как у MySQL / etc. Таким образом, вам нужно получить данные, используя несколько запросов, сначала получив идентификатор вашего пользователя, затем найдя книги типа db.books.find({ "user_id": uid }).limit(25)
, а затем используйте их для просмотра каждой книги, чтобы аналогичным образом найти первые 5 страниц каждой.
В качестве альтернативы вы могли бы встраивать страницы в книгу, но затем мы попадаем в совершенно другую историю о том, как оптимизировать запросы:)