async def detail(self, **kwargs):
        '''
        Corresponds to GET request with a resource unique identifier, fetching a single document from the database
        '''
        try:
            pk = self.pk_type(kwargs.get('pk'))
            obj = await self._meta.object_class.find_one(self.db, {self.pk: pk})
            if obj:
                return await obj.serialize()
            raise NotFound('Object matching the given {} with value {} was not found'.format(self.pk, str(pk)))
        except InvalidId:
            raise NotFound('Invalid ID')
Corresponds to GET request with a resource unique identifier, fetching a single document from the database