docs: def delete_all(self, criteria: Q = None):
          """Delete the dictionary object by its criteria"""
          if criteria:
              # Delete the object from the dictionary and return the deletion count
              items = self._filter(criteria, self.conn['data'][self.schema_name])
  
              # Delete all the matching identifiers
              with self.conn['lock']:
                  for identifier in items:
                      self.conn['data'][self.schema_name].pop(identifier, None)
  
              return len(items)
          else:
              with self.conn['lock']:
                  if self.schema_name in self.conn['data']:
                      del self.conn['data'][self.schema_name]