Another reason to not include the table name like that is you are leaking persistence information out into your application. Why would a user of the `TagService` be concerned with or have knowledge of the names of database tables? or Mongo collections? 

Table names should not be leaked into the application. There should be a hard boundary between your application and your infrastructure layers.

All a user of the tag service should know is "I want to get a Tag." Or "I want to save a Tag." How and where that happens is encapsulated in the TagService.