Mappers responsibility is to map an object to a data source.  You will never get away from having different mappers for different data sources.  It is not a lot to ask someone to rewrite all the mapper code when you want to swap data sources. 

Possible a different approach to this is to have Mappers for Key-Value storage like ToyStore and then have Finders that do the complex querying.