Python Mongodb ドキュメントの修正

Python Mongodb 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 Python Mongodb

その他の拡張