If you only need to map documents to UserModel objects
collection.findOne("{name:'John'}").as(UserModel.class);
If you are looking for a generic approach :
public <T> T get(String query, Class<T> clazz) {
return collection.findOne(query).as(clazz);
}
...
UserModel user = this.get("{name:'John'}", UserModel.class);