Python 将课程价值与PyMongo进行比较

Python 将课程价值与PyMongo进行比较,python,json,mongodb,pymongo,Python,Json,Mongodb,Pymongo,我正在尝试打印此JSON注册表中通过的所有课程: "name": "Morton Fitzgerald" ,"email": "mortonfitzgerald@ontagene.com","courses":[{"course 1": 10, "course 2": 3,"course 3": 8} 我需要打印出每一个课程'x'>=5

我正在尝试打印此JSON注册表中通过的所有课程:

"name": "Morton Fitzgerald" ,"email": "mortonfitzgerald@ontagene.com","courses":[{"course 1": 10, "course 2": 3,"course 3": 8}
我需要打印出每一个
课程'x'>=5
,脚本如下:

student = students.find_one({"$and":[{"email":data['email']},{"courses":{'$exists': True}}]})
   if (student!=None):
       course = students.find({},{"courses":1})
       course_list = []
       for student in course:
         if ({"courses":{"$gte": 5}}):
            course_list.append(student)
            student = {"name":data['name'], course_list}
            return Response(json.dumps(student), status=200, mimetype='application/json')
         else:
            return Response("There are no courses available for this student", status=400, mimetype='application/json')
  else: 
     return Response("Not authenticated user", status=401, mimetype='application/json')
我得到的错误:

KeyError: 'name'
Morton Fitzgerald, "course 1": 10, "course 3": 8
所需输出:

KeyError: 'name'
Morton Fitzgerald, "course 1": 10, "course 3": 8

有什么想法吗?

你试着检查一下这句话是否正确

if len(data) != 0:


是的,但脚本似乎没有比较for循环中的课程值。我理解您试图解释的内容,但我不理解替换哪个if语句。我猜你是指学生吧=没有一个