Python Mongodb ドキュメントの修正
MongoDB では、次のメソッドを使用できます。update_one()メソッドを使用してドキュメント内のレコードを修正します。このメソッドの最初のパラメータはクエリの条件で、2番目のパラメータは修正するフィールドです。
検索で一致するデータが複数ある場合は、最初の1件のみが修正されます。
この記事で使用するテストデータは以下の通りです(画像をクリックすると拡大表示されます):
次の例では、alexa フィールドの値を 10000 から 12345 に変更します:
例
import pymongo
myclient = pymongo.MongoClient("mongodb://localhost:27017/")
mydb = myclient["サンプルdb"]
mycol = mydb["sites"]
myquery = { "alexa": "10000" }
newvalues = { "$set": { "alexa": "12345" } }
mycol.update_one(myquery, newvalues)
# 修正後の "sites" コレクションを出力
for x in mycol.find():
print(x)
実行結果は以下の通りです:

update_one()このメソッドは一致した最初のレコードのみを修正できます。一致するすべてのレコードを修正する場合は、次を使用できます。update_many()。
次の例では、すべてのFで始まるnameフィールドを検索し、一致したすべてのレコードのalexaフィールドを修正します123:
例
import pymongo
myclient = pymongo.MongoClient("mongodb://localhost:27017/")
mydb = myclient["サンプルdb"]
mycol = mydb["sites"]
myquery = { "name": { "$regex": "^F" } }
newvalues = { "$set": { "alexa": "123" } }
x = mycol.update_many(myquery, newvalues)
print(x.modified_count, "ドキュメントが修正されました")
出力結果は以下の通りです:
1 文档已修改
データが修正されたかどうかを確認します:

Python Mongodb