Refactored data service tier to use pure mongo

Refactoring required significant changes to the data model to ensure
the mongo document searches were optimal.