LoginSignup
0
3

More than 5 years have passed since last update.

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

Last updated at Posted at 2017-08-11

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
0
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
3