I opt to bypass Bookshelf entirely and go for the Knex query builder (with my own wrapper) especially when it comes to API creation.
The best thing? By using custom selector names (whatever.what AS something:else) and using [Treeize](https://npmjs.org/package/treeize), you can achieve a deep-object graph effect. Which is really neat.