Python:用Python编写脚本来更新mongoDB中的记录

2024-04-20 14:15:24 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试更新mongoDb中的一个记录。但我犯了个错误

flag = raw_input('do you want to update?')
    if (flag == 'Y' or flag == 'y'):
            student_name = raw_input("enter studentname to update:")
            student_grade = raw_input("enter grade to update:")
            student_record = {'name':student_name,'grade':student_grade}
            db.collection.update({'name':name},"$set":student_record},upsert=0)
            flag = 0

在这里我不知道如何更新。可能是我的更新语法错误。你知道吗

有人能帮忙吗?你知道吗

这里我使用upsert,因为如果没有找到要更新的记录,那么它将插入一个新记录。你知道吗


Tags: tonameinputrawmongodb错误记录update
1条回答
网友
1楼 · 发布于 2024-04-20 14:15:24

您的更新文档中缺少{{"$set": student_record}。你还需要把“学生成绩”转换成浮动。默认情况下upsert: False,因此不需要指定。你的if语句可以简化为:if flag.lower() == 'y':

flag = raw_input('do you want to update?')
if flag.lower() == 'y':
    student_name = raw_input("enter studentname to update:")
    student_grade = float(raw_input("enter grade to update:"))
    db.collection.update_one({'name': student_name}, {"$set": {'grade': student_grade}})

最后也是最重要的一点是^{}方法被弃用。你应该使用新的API。^{}

相关问题 更多 >