With regards to reducing the number of database fetches, DataLoader [1] (also by Facebook) is a great tool used by a lot of GraphQL severs to solve this issue.
Very good point, mrpoller. DataLoader works great in combination with GraphQL. We're using a similar concept at Graphcool (which is written in Scala using Sangria). This method combined with a smart caching strategy turned out to be very effective.