I think using `MongoLongStore` etc will let you bypass `getAs` altogether, right? You could define your own `Injection[Long, MongoDbObject]` to deal with type conversion.

Alternatively, if we follow the typeclass `MongoValue` approach, you can represent all these conversions in your typeclass. It does not necessarily have to be exhaustive and we could start with the types we care about. (MySqlStore does something similar using [MySqlValue](https://github.com/twitter/storehaus/blob/develop/storehaus-mysql/src/main/scala/com/twitter/storehaus/mysql/ValueMapper.scala#L91).)