pythonクローラーのMongodbとpythonの相互作用

mongodbとpythonの相互作用##

学習目標#####
  1. mongdbとpythonの間の相互作用を追加、削除、変更、およびチェックする方法を習得する
  2. pymongoモジュールを使用して、認証認証方法を習得します

1. Mongdbとpythonの相互作用モジュール###

pymongoは、mongdbとpythonの間の相互作用のすべてのメソッドを提供します
インストール方法: pip install pymongo

2. pymongo ###を使用する

2.1 pymongoをインポートし、操作するコレクションを選択します####

データベースとコレクションは自動的に作成できます

2.1.1 許可認証なしで接続オブジェクトと収集操作オブジェクトを作成します#####
from pymongo import MongoClient

client =MongoClient(host,port) #ローカル接続ホストの場合,ポートパラメータは省略できます

collection = client[データベース名][コレクション名]
# collection = client.データベース名.コレクション名#上記と同じ使用法
2.1.2 許可を必要とする方法で接続オブジェクトと収集操作オブジェクトを作成します#####
from pymongo import MongoClient
from urllib.parse import quote_plus

user ='python' #口座番号
password ='python' #パスワード
host ='127.0.0.1' # host
port =27017 # port
uri ="mongodb://%s:%s@%s"%(quote_plus(user),quote_plus(password),
        host)
# quote_プラス機能:URLをエンコードする
# uri = mongodb://python:[email protected]
client =MongoClient(uri, port=port)
collection = client.データベース名.コレクション名

2.2 insert()データの追加####

insertは、データのリストをバッチで挿入したり、データの一部を挿入したりできます。

collection.insert({データの一部})
collection.insert([{データワン},{データ2}])
2.2.1 データを追加する#####

挿入されたデータの_idを返します

ret = collection.insert({"name":"test10010","age":33})print(ret)
2.2.2 複数のデータを追加する#####

ObjectIdオブジェクトのリストを返します

item_list =[{"name":"test1000{}".format(i)}for i inrange(10)]
rets = collection.insert(item_list)print(rets)for ret in rets:print(ret)

2.3 find_one()データの一部を検索する####

条件を辞書形式で受け取り、データ全体を辞書形式で返します
条件が空の場合は、最初の条件を返します

ret = client.test.test.find_one({'name':'test10001'})print(ret) #mongodbのObjectIdオブジェクトを含む辞書
_ = ret.pop('_id') #mongodbのObjectIdオブジェクトのkをクリアします,v
print(ret)

2.4 find()すべてのデータを検索####

条件を満たすすべての結果を返します。条件が空の場合は、すべてを返します。
結果は、カーソルカーソルオブジェクト、反復可能なオブジェクトです。これは、ファイルポインターの読み取りに似ていますが、読み取ることができるのは1回だけです。

rets = collection.find({"name":"test10005"}),
for ret in rets:print(ret)for ret in rets: #現時点では、retsにコンテンツはありません
 print(ret)

2.5 update()データの更新(ドキュメント全体を上書きするか、キー値を指定し、1つ以上の項目を更新します)####

2.5.1 データの一部を更新します;完全なドキュメントカバレッジ;存在する場合は更新し、存在しない場合は挿入します#####
data ={'msg':'これは完全なデータです1','name':'ハハ'}
client.test.test.update({'haha':'heihei'},{'$set':data}, upsert=True)
2.5.2 複数のデータを更新します;完全なドキュメントカバレッジ;存在する場合は更新し、存在しない場合は挿入します#####
data ={'msg':'これは完全なデータです2','name':'ハハ'} #クエリを実行すると、完全なデータが取得されます
client.test.test.update({},{'$set':data}, multi=True, upsert=True)
2.5.3 データの一部を更新します。キー値を指定します。存在する場合は更新し、存在しない場合は挿入します#####
data ={'msg':'メッセージのみを更新するように指定します___1'}
client.test.test.update({},{'$set':data}, upsert=True)
2.5.4 複数のデータを更新します。キー値を指定します。存在する場合は更新し、存在しない場合は挿入します#####
data ={'msg':'メッセージのみを更新するように指定します___2'}
client.test.test.update({},{'$set':data}, multi=True, upsert=True)

2.6 delete_one()データの一部を削除します####

collection.delete_one({"name":"test10010"})

2.7 delete_many()すべてのデータを削除します####

collection.delete_many({"name":"test10010"})

3. pymongoモジュールその他のapi

pymongoの公式ドキュメントまたはソースコードを確認してくださいhttp://api.mongodb.com/python/current/

概要##

  1. pymongoの追加、削除、変更の使用をマスターする
  2. pymongoモジュールを使用して、認証認証方法を習得します

Recommended Posts

pythonクローラーのMongodbとpythonの相互作用
Pythonはクローラーとアンチクローラーを知っています
PythonクローラーのJSの分析
魔法の方法とPythonの使用
Pythonクローラー|コグニティブクローラーのリクエストとレスポンス
Pythonクローラーのスクレイピーシミュレーションログイン
パイソンクローラー開発の学習パス
Python3クローラーでのAjaxの使用
派生物を計算してプロットするpythonの例
Python3.9の7つの機能
Python and Go
Python3クローラーlearning.md
Pythonは画像の水平および垂直スプライシングを実現します
javaとpythonの構文の違い
pythonでのリストの意味と使用法
ファイルをダウンロードするためのPythonヘッドレスクローラーの実装
Pythonの内省と考察
Python2とPython3の違いの簡単な要約
pythonのコンパイルとsslのインストールの問題を解決します
UbuntuでのPythonでのGDALのインストールと使用
[python] ubuntuの下のpython2とpython3
Python構文の基本
python_クローラーの基本的な学習
Pythonの基本構文
Pythonの基礎知識(1)
pythonのPrettytableモジュール
Pythonの分解とパッケージ化
Python3の構成とentry.md
PythonでのMongoDBの使用
09.Python3の共通モジュール
Pythonクローラーgerapyクローラー管理
Pythonの自動操作とメンテナンス2
Pythonの紹介と環境のインストール
Python(7)の基盤を統合する
pythonリスト(LIST)の深い理解
Pythonのタプルの添え字
wavファイルのPython分析
centos7はpython3とipythonをインストールします
Python(6)の基盤を統合する
ubuntu18.04python3.8をコンパイルしてインストールします
栄光のパイソンキング壁紙
Centos6.10はpythonとyumを再インストールします
Pythonオープン読み取りおよび書き込み
Centos7.5のインストールと構成MongoDB4.0.4
Centos6.5はmongodbをインストールして構成します
gomokuプログラムのPython実装
Pythonサンドボックスエスケープの分析
Python3.10のいくつかの新機能
CentOS7はpython3とpip3をインストールします
Pythonマルチスレッドの深い理解
Pythonの自動操作とメンテナンス1
Pythonのデータ構造とアルゴリズム
Pythonマルチプロセスおよびマルチスレッドの基本
Pythonオブジェクト指向プログラミングの分析
CentOS6.9はpythonをコンパイルしてインストールします
OpenCVインストールのPythonバージョン
CentOS6はpython3をコンパイルしてインストールします
pythonクローラー用のSeleniumビジュアルクローラー
Pythonの9つの機能エンジニアリング手法
python描画モジュールのmatplotlib
パラメータを渡すPythonメソッド