プログラムを中心とした個人的なメモ用のブログです。 タイトルは迷走中。
内容の保証はできませんのであしからずご了承ください。

2021/08/10

[python] MongoDB を操作する

update2021/08/13 event_note2021/08/10 6:23

pymongo を使って MongoDB を操作します。

環境

  • python 3.8.10
  • pymongo 3.12.0

インストール

$ pip3 install pymongo

クライアントの作成

from pymongo import MongoClient

username = 'username'
password = 'password'
host = '192.168.0.1'
port = 27017
client= MongoClient(f'mongodb://{username}:{password}@{host}:{port}')

db = client['db_name']

col = db['collection_name']

書き込み

col.insert_one({
    'hoge' : 'fuga',
    'datetime': datetime.now(),
})

読み込み

find_one() で一番最初のデータ(一番古いデータ)が取得できます。

ret = col.fine_one()
print(ret)
{'_id': ObjectId('611209607654c9fcf3e8cf0b'), 'hoge': 'fuga', 'datetime': datetime.datetime(2021, 8, 10, 14, 6, 40, 659000)}

ID を指定して読み込み

from bson.objectid import ObjectId

id = '611209607654c9fcf3e8cf0b'
ret = col.find_one({ '_id': ObjectId(id) })
print(ret)

出力は上記と同じです。

削除

全ドキュメントの削除

col.delete_many({})