Python MongoDB 更新

  • 更新集合

    您可以使用update_one()方法更新记录或在MongoDB中调用的文档。update_one()方法的第一个参数是一个查询对象,用于定义要更新的文档。
    注意:如果查询找到多个记录,则仅更新第一个记录。
    第二个参数是定义文档新值的对象。
    将地址从“Valley 345”更改为“Canyon 123”:
    import pymongo
    
    myclient = pymongo.MongoClient("mongodb://localhost:27017/")
    mydb = myclient["mydatabase"]
    mycol = mydb["customers"]
    
    myquery = { "address": "Valley 345" }
    newvalues = { "$set": { "address": "Canyon 123" } }
    
    mycol.update_one(myquery, newvalues)
    
    #print "customers" after the update:
    for x in mycol.find():
      print(x)
    
  • 更新多个

    若要更新所有符合查询条件的文档,请使用update_many()方法。
    更新地址以字母“S”开头的所有文档:
    import pymongo
    
    myclient = pymongo.MongoClient("mongodb://localhost:27017/")
    mydb = myclient["mydatabase"]
    mycol = mydb["customers"]
    
    myquery = { "address": { "$regex": "^S" } }
    newvalues = { "$set": { "name": "Minnie" } }
    
    x = mycol.update_many(myquery, newvalues)
    
    print(x.modified_count, "documents updated.")