def METHOD_NAME(self, conditions):
    jobs = []
    failed_job_ids = []
    for document in self.collection.find(conditions, ['_id', 'job_state'],
                                         sort=[('next_run_time', ASCENDING)]):
        try:
            jobs.append(self._reconstitute_job(document['job_state']))
        except BaseException:
            self._logger.exception('Unable to restore job "%s" -- removing it',
                                   document['_id'])
            failed_job_ids.append(document['_id'])
    # Remove all the jobs we failed to restore
    if failed_job_ids:
        self.collection.delete_many({'_id': {'$in': failed_job_ids}})
    return jobs