code: def query(self, query):
      '''Returns an iterable of objects matching criteria expressed in `query`
  
      Naively applies the query operations on the objects within the namespaced
      collection corresponding to ``query.key.path``.
  
      Args:
        query: Query object describing the objects to return.
  
      Raturns:
        iterable cursor with all objects matching criteria
      '''
  
      # entire dataset already in memory, so ok to apply query naively
      if str(query.key) in self._items:
        return query(self._items[str(query.key)].values())
      else:
        return query([]f query(self, query):
      '''Returns an iterable of objects matching criteria expressed in `query`
  
      Naively applies the query operations on the objects within the namespaced
      collection corresponding to ``query.key.path``.
  
      Args:
        query: Query object describing the objects to return.
  
      Raturns:
        iterable cursor with all objects matching criteria
      '''
  
      # entire dataset already in memory, so ok to apply query naively
      if str(query.key) in self._items:
        return query(self._items[str(query.key)].values())
      else:
        return query([])
docs: Returns an iterable of objects matching criteria expressed in `query`
  
      Naively applies the query operations on the objects within the namespaced
      collection corresponding to ``query.key.path``.
  
      Args:
        query: Query object describing the objects to return.
  
      Raturns:
        iterable cursor with all objects matching criteria