I\'ve always worked with various ORM\'s in the past and placed all my logic inside my models regardless of it\'s nature - SQL, MongoDB queries & even fetching of remote JSON
Here's a good book about the topic you're interested in, You can find about data Mappers (Abstract Data Mappers) in the Persistence Framework chapter:
Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design and the Unified Process