[英]Python: Script in python to update a record in mongoDB
我正在尝试更新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,因为如果找不到要更新的记录,则它将插入一条新记录。
您在更新文档中缺少{
。 {"$set": student_record}
。 另外,您需要将“ student_grade”转换为浮点数。 默认情况下, 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}})
最后,并非最不重要的一点是,不建议使用update
方法。 您应该使用新的API。 update_one
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.