class_docstr: DALDriver is the parent of all dal drivers. Any child must implement the methods below
  
  Methods
  -------
  get(collection, entity_id)
      get entity object from collection
  set(collection, obj)
      create entity object in collection
  exists(collection, entity_id)
      checks if entity exists in collection
  query(collection, query_params)
      find entities in collection matching params
  delete(collection, entity_id)
      delete entity from collection
docstr: find entities in collection matching params
  
  Parameters
  ----------
  collection : str
      name of the collection
  query_params : dict
      query dictionary for driver
  
  Returns
  -------
  list
      list of dictionaries of normalized python
      representations of the entities
docstr_tok: ["find","entities","in","collection","matching","params","Parameters","--","--","--","--","--","collection",":","str","name","of","the","collection","query_params",":","dict","query","dictionary","for","driver","Returns","--","--","--","-","list","list","of","dictionaries","of","normalized","python","representations","of","the","entities"]
code: def query(self, collection, query_params):
      """
      find entities in collection matching params
  
      Parameters
      ----------
      collection : str
          name of the collection
      query_params : dict
          query dictionary for driver
  
      Returns
      -------
      list
          list of dictionaries of normalized python
          representations of the entities
      """
      pass
  
file_path: datmo/datmo/core/storage/driver/__init__.py
imports: from abc import ABCMeta, abstractmethod
  from future.utils import with_metaclass
label_desc: Use image node_id 5 for calling the DALDriver obj's underlying member method code with example usage: obj.query(collection, query_params) without return types