MongoDB
Ubuntu
python3

ubuntu環境でmongoDBをpythonから操作する ②pythonでプログラムを作る

pythonでmongodbにアクセスする。

環境

ubuntu16.04LTS
mongodbをインストール済み

ライブラリを導入するためにpipとgitを導入

sudo apt-get install python3-pip git

pythonのライブラリを導入

pymongo⇨pythonからmongodbにアクセスするためのパッケージ。
python-dateutil⇨時刻のアクセスを簡単にする。
easy_python⇨mongodbへのコマンドを簡単にする。

sudo pip3 install pymongo
sudo pip3 install python-dateutil
sudo pip3 install git+https://github.com/takashiAg/easy_mongo_python

pythonでライブラリを操作する

~/mongo.py
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
import easy_mongo

def main():
    mongo=easy_mongo.Mongo()

    #mongodbに値を代入
    print("mongodbに値を代入")
    data={
        "testdata":"test",
        "test":2,
        "user":"ando"
    }
    mongo.insert(data)

    #条件指定でデータを取得(or) 連想配列を並べてください
    print("条件指定でデータを取得(or)")
    data=[
        {"test":2},
        {"testdata":"test"}
    ]
    values=mongo.view_or(data)

    for data in values:
        print(data)

    #条件指定でデータを取得(and) 連想配列を並べてください
    print("条件指定でデータを取得(and)")
    data=[
        {"test":2},
        {"testdata":"test"}
    ]
    values=mongo.view_and(data)
    for data in values:
        print(data)

    #過去1週間のデータの数を返す
    print("過去1週間のデータの数を返す")
    value=mongo.count_oneweek()
    print(value)

    #時間指定でデータの数を返す
    print("時間指定でデータの数を返す")
    value=mongo.count_date("2017-04-01T00:00:00+09:00","2017-10-01T00:00:00+09:00")
    print(value)

    #期間と条件を指定でデータの数を返す
    print("期間と条件を指定でデータの数を返す")


    #条件指定でデータを取得(and) 連想配列を並べてください
    print("条件指定でデータを取得(and)")
    data=[
        {"test":2},
        {"testdata":"test"}
    ]
    values=mongo.view_and(data)
    for data in values:
        print(data)

    #過去1週間のデータの数を返す
    print("過去1週間のデータの数を返す")
    value=mongo.count_oneweek()
    print(value)

    #時間指定でデータの数を返す
    print("時間指定でデータの数を返す")
    value=mongo.count_date("2017-04-01T00:00:00+09:00","2017-10-01T00:00:00+09:00")
    print(value)

    #期間と条件を指定でデータの数を返す
    print("期間と条件を指定でデータの数を返す")
    value=mongo.count_date_with_condition("2017-04-01T00:00:00+09:00","2017-10-01T00:00:00+09:00",{'user':"test"})
    print(value)

    #mongodbに保存されているデータを全てとってくる。
    print("mongodbに保存されているデータを全てとってくる。")
    values=mongo.view()
    for data in values:
        print(data)

if __name__ == "__main__":
    main()

実行

mongoDBを起動して今作ったスクリプトを実行

#mongodbを起動しておく
mongod &
#pythonのコードを実行
python3 ~/mongo.py