这是我用来从两个不同集合检索数据并根据部门标准匹配它们的代码。然而,运行该函数 7 次后,我收到索引错误“没有光标实例的此类项目”
def update_instructor_course(college,department,department_course_list):
get_department_courses = (courses.find({"college": college, "department": department}))
get_department_instructors = (employees.find({"college":college, "department": department}))[:len(department_course_list)]
for index, instructor in enumerate(get_department_instructors):
employees.update_one({"_id": ObjectId(instructor["_id"])},{"$set": {"course": [get_department_courses[index]['course_code']]}})
courses.update_one({"_id":ObjectId(get_department_courses[index]["_id"])}, {"$set":{"instructor":instructor['employee_id']}})```
find 方法始终返回 cursor 的实例,为了将其作为列表使用,您需要使用 to_list(...) 方法,该方法接受形成列表的元素数量或没有。
get_department_courses = courses.find({"college": college, "department": department}).to_list(None)