В Mongoose 3.6 беше добавено дълбоко население. https://github.com/LearnBoost/mongoose/issues/1377#issuecomment -15911192
За вашия пример това би било нещо като:
Owner.find().populate('shelves').exec(PopulateBooks);
function PopulateBooks(err, owners) {
if(err) throw err;
// Deep population is here
Book.populate(owners, { path: 'shelves.books' }).exec(callback);
}