LoginSignup
0
0

More than 3 years have passed since last update.

PythonでMongoのデータを簡易検索

Posted at

PythonでMongoのデータを簡易検索

本当は別のことをしていたのですが、どうしても気になり、脱線して作ってみました。
海外ドラマ(NCIS)が好きで良く見ているのですが、
データベースの検索シーンで、「xxx : zzzz」と入力していたような気がします。
ちょうど、JSONやMongoDBをpythonで扱っていたので、あれ?JSONの形に似てる??と思い、MongoDBのデータを対象とした超簡単な検索用部品を作ってみました。
単にpymongoのfilterの引数に正規表現を使っただけのものです。
本当はもっと簡単で美しい書き方があると思います。

findstring.py
import pymongo

# MongoDB接続情報
client = pymongo.MongoClient('localhost', 27017)
db = client[#db名]
co = db[#コレクション名]

# 検索情報の生成 printやinputは動作検証用です。
print("検索のためのkeyとvalueを入力してください")
print("key:valueの形 例 remarks:12時 ")
str_f0=input()
str_f1=str_f0.split(":")[0]
str_f2=str_f0.split(":")[1]

# 検索
data = [d for d in co.find(filter={str_f1:{'$regex':str_f2}})]
for d in data:
    print(d[str_f1].splitlines())

エラー処理、大文字・小文字への対応、複数の検索語への対応などの機能はありませんが、たぶんすぐに忘れてしまうので、今後の肥やしとして投稿させていただきます。

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