Pythonでpymongoを用いてMongoDBAtlasデータベース内にコレクションを作成しキーと値を挿入してみます。
なお、今回は無料プランでMongoDBAtlasを利用しています。MongoDBAtlasの初期の状態では、「DATABASES」内に「Cluster0」というデータベースがあり、このデータベースにはコレクションは作成されていない状態となっています。
また、今回はpymongoモジュールを用います。このライブラリ・モジュールはPythonの標準ライブラリではありませんので、事前にインストールする必要があります。
なお、MongoDBAtlasに接続する場合は、mongo+srvプロトコルを使用する必要があるため、
pip install pymongo[srv]
上記のコマンドでpip経由でpymongo-srvをインストールする。これがないと「dnspython module must be installed to use mongodb+srv:// URI」というエラーが発生し、接続できない。
■Python
今回のPythonのバージョンは、「3.8.5」を使用しています。(Windows10)(pythonランチャーでの確認)
■pymongoを用いてMongoDBAtlasデータベース内にコレクションを作成しキーと値を挿入する
では、早速pymongoを用いてMongoDBAtlasデータベース内にコレクションを作成しキーと値を挿入するスクリプトを書いていきます。
■コード
import pymongo client = pymongo.MongoClient("接続するためのコード") mydb = client["Cluster0"] mycol = mydb["test_1"] mydict = { "ユーザー名": "テスト一太郎", "password": "test12345abf" } mycol.insert_one(mydict)
importでpymongoモジュールを呼び出します。その後、clientという変数を定義し、その中でpymongo.MongoClient()を用います。括弧内には、MongoDBAtlasに接続するためのコードが必要となります。コードの取得に関してはこちらを参考にしてください。
client変数を定義後、mydbという変数を定義し、その中でclientで”[ ]”(角括弧)を用いてデータベースを指定します。今回はCluster0を指定します。
その後、mycolという変数を定義し、その中でmydb変数を指定し”[ ]”(角括弧)を用いてコレクションを指定します。今回はコレクションは作成していないので、新しくtest_1というコレクションの名前を指定し作成します。
次にmydict変数を定義し、その中で”{ }”(波括弧)を用いて辞書(JSON表記)を作成し、辞書内にキーと値を記述します。
最後にmycolに対して、insert_one()を用います。括弧内には引数,パラメータとして、単一のドキュメント(mydict)を渡します。これで辞書内のキーと値が挿入されます。
■実行・検証
このスクリプトを「py_m_db_item_add.py」という名前で、Pythonが実行されている作業ディレクトリ(カレントディレクトリ)に保存し、コマンドプロンプトから実行してみます。
C:\Users\user_\AppData\Roaming\Python\Python38\site-packages\cryptography\x509\base.py:531: CryptographyDeprecationWarning: Parsed a negative serial number, which is disallowed by RFC 5280.
return rust_x509.load_pem_x509_certificate(data)
実行してみると、上記のメッセージが出力されました。エラーではないので、これでデータが挿入されたことになります。
挿入後、MongoDB Atlas Database(https://www.mongodb.com/atlas/database)にアクセスしログインして、データベースの状態を確認すると、Cluster0というデータベース内にtest_1というコレクションが追加され、コレクション内にデータ(キーと値)が挿入されていることが確認できました。
コメント