投稿

ラベル(データベース)が付いた投稿を表示しています

pythonでmongoDBを操作してみた。

昨年に mongoDB を入れてみて色々とやってるんですが、せっかくなので python からmongoを制御できたら面白いのではないかと思い、少し試してみました。 ほとんど ここの コピペ貼付けでやってるので残念感しかありませんが、まぁ 写経 でもアウトプットすることはきっと大事でしょうということで残しておきます。 後はmongoで 日付時刻をそのまま格納したい場合 はUTCが使用できる圏以外はあれやこれや大変なので日付を検索する仕様があるときはあまりmongoの日付時刻をそのまま使うと色々と大変な思いをします。 *現在、絶賛苦悩中 やるとするなら以下の様な感じになりそうです。 ・日本時刻を一旦UTCに変換する ・mongoDBに格納 ・mongoDBからデータ取り出し ・UTCの時刻を日本時間に変換する。 なので僕はへっぽこだったので datetime にかなり苦しめられてます。(今も) けど、結果的に時間でデータ格納せずに文字列で格納しちゃってて、さらに時間を条件にして検索するという要件を結果として採用しなかったのでここで出てくる日付で検索というケースは使用しなかったのですがね。 ■プログラム 1.mongo_oerate.py ------------------ import datetime import json import pprint import re import sys import traceback from bson.objectid import ObjectId import mongo_crud as mon def insert_mongo(): """ データ追加 """ try: print("INSERT START") mongo = mon.MongoInsert('database', 'test1') find = mongo.find({'_id':0}) print('--------------------登録前--------------------'...

mongoDBインストールしてコンソールでCRUD試してみた

クローリングしてきたデータの保存先、最初はテキストでいいかと思っていたんですが やはり検索とか考えるとデータベースにぶち込んだ方がいいかなぁと思って RDB を使うか、 はやりの NoSQL を使うかで悩んでいました。もともと保存しているテキストが JSON 形式で あることと放り込んだデータに後から項目を追加するということも考えていたところもあって 柔軟性がほしいなぁと思ったので mongoDB を使ってみることにしました。 python からいじくる予定なのですが、まずは動作検証してみたいということでmongoDBをインストール してみました。ま、よそで色々とされているのでコピペしてぶっ込んでみて、そして簡単に CRUD してみた だけです。 ほとんど新しい知見はえられない記事です。  ■手順 1.mongoDBインストール #キーを入手 $ sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 9DA31620334BD75D9DCB49F368818C72E52529D4 $ echo "deb [ arch=amd64 ] https://repo.mongodb.org/apt/ubuntu bionic/mongodb-org/4.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-4.0.list $ sudo apt update ・mongodbインストール $ sudo apt install -y mongodb-org #動作確認 $ mongod --version db version v4.0.13 git version: bda366f0b0e432ca143bc41da54d8732bd8d03c0 OpenSSL version: OpenSSL 1.1.1 11 Sep 2018 allocator: tcmalloc modules: none build environment: distmod: ubuntu1804 distarch: x86_64 target_arch: x86_64 matarain...