MongoDBはNoSQLのひとつで、JSON形式でデータが格納される。このMongoDBをRaspberry PiとPython3で使ってみる。MongoDBの最新は3系だが、64ビットバージョンしか存在しない。32ビットのRaspbianでは使えないので、ここはおとなしくapt-getコマンドでインストールされる32ビットの2系を使う。
Raspbian StretchとPython3.5.3。
MongoDBは、バージョンは古いがapt-getコマンドでインストールできる。
バージョンは2.4.14。
MongoDBの起動
シェルの起動
データベース一覧の表示(testがデフォルトのデータベース)
データベース情報を確認
コレクション(RDBのテーブルに相当)の作成
コレクション一覧の確認
シェルの終了
Python3でMongoDBを操作できるようにPythonパッケージのPyMongoをインストールする。pipでインストールできるが、インストールされるバージョンは3.6。このバージョンだとインサート時にエラーになるので、古いバージョンをインストールする。
試しにPyMongoでPython3からインサートしてみる。以下のコードをPython3で実行する。
MongoDBシェルでsampleコレクションを確認すると、データがインサートされている。idはインサート時に自動で付加される。
環境
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 件のコメント:
コメントを投稿