光标实例没有此项

0 投票
1 回答
25 浏览
提问于 2025-04-12 14:21

这是我用来从两个不同的数据集合中获取数据的代码,并根据部门的标准将它们匹配起来。不过在运行这个函数七次后,我遇到了一个索引错误,提示“游标实例没有这样的项目”。

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']}})```

1 个回答

0

find方法总是返回一个游标的实例。如果你想把它当成列表来使用,就需要用到to_list(...)这个方法。这个方法可以接受一个数字,表示你想要形成列表的元素个数,或者你也可以传入None。

get_department_courses = courses.find({"college": college, "department": department}).to_list(None)

撰写回答