<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def find_records(self, collection_name, query={}, sort_by=None, sort_direction=None, start=0, limit=None):
 """ Return a cursor of records from the given MongoDB collection. :param collection_name: Name of the MongoDB collection to query. :param query: Standard MongoDB query. By default no restriction. :param sort_by: Name of a single field to sort by. :param sort_direction: The direction to sort, "asc" or "desc". :param start: Skip first n results. :param limit: The maximum number of results to return. :return: Cursor -- An iterable with results. :raise DataSourceError """

        cursor = self._get_collection(collection_name).find(query)
        if sort_by is not None:
            cursor = self._apply_sort(cursor, sort_by, sort_direction)
        cursor = cursor.skip(start)
        if limit is not None:
            cursor = cursor.limit(limit)
        return MongoDbCursor(cursor)