2018年5月6日日曜日

Raspberry PiとPython3でMongoDBを使う

MongoDBはNoSQLのひとつで、JSON形式でデータが格納される。このMongoDBをRaspberry PiとPython3で使ってみる。MongoDBの最新は3系だが、64ビットバージョンしか存在しない。32ビットのRaspbianでは使えないので、ここはおとなしくapt-getコマンドでインストールされる32ビットの2系を使う。


環境


Raspbian StretchとPython3.5.3。



MongoDBのインストール


MongoDBは、バージョンは古いがapt-getコマンドでインストールできる。


バージョンは2.4.14。



MongoDBの操作


MongoDBの起動


シェルの起動


データベース一覧の表示(testがデフォルトのデータベース)


データベース情報を確認


コレクション(RDBのテーブルに相当)の作成


コレクション一覧の確認


シェルの終了



Python用パッケージのインストール


Python3でMongoDBを操作できるようにPythonパッケージのPyMongoをインストールする。pipでインストールできるが、インストールされるバージョンは3.6。このバージョンだとインサート時にエラーになるので、古いバージョンをインストールする。



Python3からのインサート


試しにPyMongoでPython3からインサートしてみる。以下のコードをPython3で実行する。

from pymongo import MongoClient

# localhostの27017ポート(デフォルト)に接続
client = MongoClient('localhost', 27017)
# testデータベース
db = client.test
# testデータベースのsampleコレクション
col = db.sample
# インサートするデータ(JSON)
data = {
            "A": 1,
            "B": 999,
            "animal": ["dog", "cat"]
        }
# sampleコレクションにインサート
col.insert(data)

MongoDBシェルでsampleコレクションを確認すると、データがインサートされている。idはインサート時に自動で付加される。



0 件のコメント:

コメントを投稿