【问题标题】:Python 'Collection' object is not iterablePython \'Collection\' 对象不可迭代
【发布时间】:2022-09-30 15:35:56
【问题描述】:

我一直在尝试简化以下内容,并且在遇到障碍后一直遇到障碍:

students = db.get_collection(\"students\")

student = students.find_one({\"student_id\": \"1007\"})
print(\"\\nStudent ID: \" + student[\"student_id\"])
print(\"First Name: \" + student[\"first_name\"])
print(\"Last Name: \" + student[\"last_name\"])
student = students.find_one({\"student_id\": \"1008\"})
print(\"\\nStudent ID: \" + student[\"student_id\"])
print(\"First Name: \" + student[\"first_name\"])
print(\"Last Name: \" + student[\"last_name\"])
student = students.find_one({\"student_id\": \"1009\"})
print(\"\\nStudent ID: \" + student[\"student_id\"])
print(\"First Name: \" + student[\"first_name\"])
print(\"Last Name: \" + student[\"last_name\"])

我发现了一些类似的东西:

students = db.get_collection(\"students\")

student = students.find()
for student in students:
     print(students)
  • 你到底遇到了什么“障碍”?
  • 我无法让程序使用 .find() 查询存储的信息,除非我使用 find_one() 这不是正确的查询方式我得到以下错误之一: index \'student_id\' cannot be applied to cursor实例 \'collection\' 对象不可迭代 \'method\' 对象不可下标
  • 请编辑问题以包含所有相关信息 - 产生错误的代码以及完整的错误回溯。

标签: python python-3.x mongodb mongodb-query


【解决方案1】:

您可以通过使用带有范围函数的 for 循环来简化它,该函数逐个遍历学生 ID。

students = db.get_collection("students")

for i in range(1007, 1010):
    student = students.find_one({"student_id": str(i)})
    print("\nStudent ID: " + student["student_id"])
    print("First Name: " + student["first_name"])
    print("Last Name: " + student["last_name"])

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-12-13
    • 2013-12-01
    • 2015-04-14
    • 2022-07-01
    • 2014-04-26
    • 2019-02-10
    • 2015-04-06
    • 2013-10-31
    相关资源
    最近更新 更多