Pythonでpymongoを用いてMongoDBAtlasデータベース内にコレクションを作成しキーと値を挿入する

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というコレクションが追加され、コレクション内にデータ(キーと値)が挿入されていることが確認できました。

コメント

タイトルとURLをコピーしました