code: def find(self, query, orderby=None, order_by_direction=1, page=0, limit=0):
          
  
          cursor = self.collection.find(query)
  
          if orderby:
              cursor.sort(orderby, order_by_direction)
  
          cursor.skip(page*limit).limit(limit)
  
          results = []
          while (yield cursor.fetch_next):
              results.append(self._obj_cursor_to_dictionary(cursor.next_object()))
  
          raise Return(results)
docs: Find a document by any criteria
  
          :param dict query: The query to perform
          :param str orderby: The attribute to order results by
          :param int order_by_direction: 1 or -1
          :param int page: The page to return
          :param int limit: Number of results per page
          :returns: A list of results
          :rtype: list