Python MongoDB の更新
コレクションの更新
update_one()
メソッドを使用すると、MongoDBで呼び出されるレコードまたはドキュメントを更新できます。
update_one()
メソッドの最初のパラメータは、更新するドキュメントを定義するクエリオブジェクトです。
注:クエリで複数のレコードが見つかった場合、最初に見つかったレコードのみが更新されます。
2 番目のパラメーターは、ドキュメントの新しい値を定義するオブジェクトです。
例
住所を「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.")
実行例 »プログラミング学習を加速させる
プログラミングをプロの講師に教えてもらいませんか。