Python JSON文件与MongoDB的比较

Python JSON文件与MongoDB的比较,python,json,mongodb,flask,Python,Json,Mongodb,Flask,我有一个JSON文件,其中包含许多学生注册信息和其他信息。从这个JSON文件中,我需要根据一个学生的电子邮件搜索他,然后我需要将他通过的课程解析成一个词汇表 JSON注册表示例: "name":"Morton Fitzgerald","email":"mortonfitzgerald@ontagene.com","courses":{"course 1": 10, "

我有一个JSON文件,其中包含许多学生注册信息和其他信息。从这个JSON文件中,我需要根据一个学生的电子邮件搜索他,然后我需要将他通过的课程解析成一个词汇表

JSON注册表示例:

"name":"Morton Fitzgerald","email":"mortonfitzgerald@ontagene.com","courses":{"course 1": 10, "course 2": 3,"course 3": 8}
@app.route('/getPassedCourses', methods=['GET'])
def get_courses():
    # Request JSON data
    data = None
    try:
        data = json.loads(request.data)
        uuid = request.headers.get('authorization')
    except Exception as e:
        return Response("bad json content",status=500,mimetype='application/json')
    if data == None:
        return Response("bad request",status=500,mimetype='application/json')
    if not "email" in data:
        return Response("Information incomplete",status=500,mimetype="application/json")
 
    if (is_session_valid(uuid)):
        student = students.find_one({"$and":[{"email":data['email']},{"courses":{'$exists': True}}]})
                if student != None:
                    iterable = students.find({"courses":{"$gte": 5}})
                    students_list = []
                    for student in iterable:
                        student['_id'] = None
                        students_list.append(student)
                    student = {"courses":data['courses']}
                    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')
Morton Fitzgerald, "course 1": 10, "course 3": 8
我试图用find_one方法搜索一个学生,然后我试图创建一个词汇表来添加所有通过的课程

Python脚本:

"name":"Morton Fitzgerald","email":"mortonfitzgerald@ontagene.com","courses":{"course 1": 10, "course 2": 3,"course 3": 8}
@app.route('/getPassedCourses', methods=['GET'])
def get_courses():
    # Request JSON data
    data = None
    try:
        data = json.loads(request.data)
        uuid = request.headers.get('authorization')
    except Exception as e:
        return Response("bad json content",status=500,mimetype='application/json')
    if data == None:
        return Response("bad request",status=500,mimetype='application/json')
    if not "email" in data:
        return Response("Information incomplete",status=500,mimetype="application/json")
 
    if (is_session_valid(uuid)):
        student = students.find_one({"$and":[{"email":data['email']},{"courses":{'$exists': True}}]})
                if student != None:
                    iterable = students.find({"courses":{"$gte": 5}})
                    students_list = []
                    for student in iterable:
                        student['_id'] = None
                        students_list.append(student)
                    student = {"courses":data['courses']}
                    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')
Morton Fitzgerald, "course 1": 10, "course 3": 8
所需输出应为:

"name":"Morton Fitzgerald","email":"mortonfitzgerald@ontagene.com","courses":{"course 1": 10, "course 2": 3,"course 3": 8}
@app.route('/getPassedCourses', methods=['GET'])
def get_courses():
    # Request JSON data
    data = None
    try:
        data = json.loads(request.data)
        uuid = request.headers.get('authorization')
    except Exception as e:
        return Response("bad json content",status=500,mimetype='application/json')
    if data == None:
        return Response("bad request",status=500,mimetype='application/json')
    if not "email" in data:
        return Response("Information incomplete",status=500,mimetype="application/json")
 
    if (is_session_valid(uuid)):
        student = students.find_one({"$and":[{"email":data['email']},{"courses":{'$exists': True}}]})
                if student != None:
                    iterable = students.find({"courses":{"$gte": 5}})
                    students_list = []
                    for student in iterable:
                        student['_id'] = None
                        students_list.append(student)
                    student = {"courses":data['courses']}
                    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')
Morton Fitzgerald, "course 1": 10, "course 3": 8