Python Mongodb データ削除

Python Mongodb Python Mongodb

使用できるのはdelete_one()メソッドで1つのドキュメントを削除します。このメソッドの最初のパラメータはクエリオブジェクトで、削除するデータを指定します。

この記事で使用するテストデータは次のとおりです(画像をクリックすると拡大表示されます):

次の例では、name フィールドの値が "Taobao" のドキュメントを削除します:

例

#!/usr/bin/python3 import pymongo myclient = pymongo.MongoClient("mongodb://localhost:27017/") mydb = myclient["サンプルdb"] mycol = mydb["sites"] myquery = { "name": "Taobao" } mycol.delete_one(myquery) # 削除後の出力 for x in mycol.find(): print(x)

出力結果は次のとおりです:

複数のドキュメントを削除

使用できるのはdelete_many()メソッドで複数のドキュメントを削除します。このメソッドの最初のパラメータはクエリオブジェクトで、削除するデータを指定します。

name フィールドが F で始まるすべてのドキュメントを削除します:

例

#!/usr/bin/python3 import pymongo myclient = pymongo.MongoClient("mongodb://localhost:27017/") mydb = myclient["サンプルdb"] mycol = mydb["sites"] myquery = { "name": {"$regex": "^F"} } x = mycol.delete_many(myquery) print(x.deleted_count, "個のドキュメントが削除されました")

出力結果は次のとおりです:

1 个文档已删除

コレクション内のすべてのドキュメントを削除

delete_many() メソッドに空のクエリオブジェクトを渡すと、コレクション内のすべてのドキュメントが削除されます:

例

#!/usr/bin/python3 import pymongo myclient = pymongo.MongoClient("mongodb://localhost:27017/") mydb = myclient["サンプルdb"] mycol = mydb["sites"] x = mycol.delete_many({}) print(x.deleted_count, "個のドキュメントが削除されました")

出力結果は次のとおりです:

5 个文档已删除

コレクションを削除

使用できるのはdrop()メソッドでコレクションを削除します。

次の例では、customers コレクションを削除します:

例

#!/usr/bin/python3 import pymongo myclient = pymongo.MongoClient("mongodb://localhost:27017/") mydb = myclient["サンプルdb"] mycol = mydb["sites"] mycol.drop()

削除に成功すると drop() は true を返し、削除に失敗した場合(コレクションが存在しない場合)は false を返します。

次のコマンドを使用して、ターミナルでコレクションが削除されたかどうかを確認します:

> use サンプルdb
switched to db サンプルdb
> show tables;

Python Mongodb Python Mongodb

その他の拡張