code: def get_by_shortened_id(self, collection, shortened_entity_id):
      self.__reload()
      try:
          results = self.backend.filter(
              collection,
              {"pk": {"$regex": "^%s" % shortened_entity_id}},
          )
          if len(results) == 1:
              item_dict = results[0].attributes
              return normalize_entity(item_dict)
          elif len(results) > 1:
              raise MoreThanOneEntityFound()
          else:
              raise EntityNotFound()
      except AttributeError as err:
          raise EntityCollectionNotFound(err.message)
  
file_path: datmo/datmo/core/storage/driver/blitzdb_dal_driver.py
imports: from blitzdb import Document, queryset
  from datetime import datetime
  from datmo.core.util.exceptions import EntityNotFound, EntityCollectionNotFound, IncorrectType, InvalidArgumentType, RequiredArgumentMissing, MoreThanOneEntityFound
  from datmo.core.storage.driver import DALDriver
label_desc: Use image node_id 4 for calling the BlitzDBDALDriver obj's underlying member method code with example usage: obj.get_by_shortened_id(collection, shortened_entity_id) and returns: normalize_entity