ホームページ >バックエンド開発 >Python チュートリアル >Python3 で Mongodb を操作するためのシンプルでわかりやすいチュートリアル
この記事では主に
Python3の詳細な操作Mongodbの簡潔で分かりやすいチュートリアルを紹介しており、必要に応じてデータベースへの接続方法を詳しく紹介しています。もっと詳しく知る。
データベースに接続します
インターフェースを指定する必要があります。まず、パッケージをインポートする必要があります。
from pymongo import MongoClient conn = MongoClient('localhost',27017)以下のような書き方ももちろん可能です:
conn = MongoClient('mongodb://localhost:27017/')mongodb は事前にデータベースを作成する必要はありませんが、存在する場合は直接使用してください。データベースがない場合は、自動的に作成されます。
db = conn.testdb上記のステートメントは、testdb データベースを作成します。ただし、
データが挿入されていない場合、管理ツールではデータベースを見ることができません(表示されません)。
データを挿入
単一レコードの挿入
from pymongo import MongoClient conn = MongoClient('mongodb://localhost:27017/') db = conn.testdb db.col.insert({"name":'yanying','province':'江苏','age':25})注: 以下の操作ではデータベース接続操作は無視され、コア コードが直接記述されます。これは自分で補ってください。 Python コンソールでは何も起こりません。それが成功を意味します。管理ツールを使用してデータベース レコードを表示すると、データが含まれています。
複数のレコードの挿入
db.col.insert([ {"name":'yanying','province':'江苏','age':25}, {"name":'张三','province':'浙江','age':24}, {"name":'张三1','province':'浙江1','age':25}, {"name":'张三2','province':'浙江2','age':26}, {"name":'张三3','province':'浙江3','age':28}, ])
Querydata
単一クエリ
db.col.find_one()上記のステートメントは、mongodb レコードをクエリできます。レコード内の追加の _id は、Mongodb によって自動的に生成される一意の値です。
コードをコピーします コードは次のとおりです:
{'_id': ObjectId('5925351ad92fac3250b9ae3f'), 'name': 'yanying', 'province': '江苏', 'age': 25}次の操作のためにいくつかのデータを挿入します。 (何万語も省略)
すべてをクエリする
for を使用できます。
for item in db.col.find(): print(item)これですべてのレコードを取得できます。
{'_id': ObjectId('5925351ad92fac3250b9ae3f'), 'name': 'yanying', 'province': '江苏', 'age': 25} {'_id': ObjectId('592550e5d92fac0b8c449f87'), 'name': 'zhangsan', 'province': '北京', 'age': 29} {'_id': ObjectId('592550f6d92fac3548c20b1a'), 'name': 'lisi', 'province': '上海', 'age': 22} {'_id': ObjectId('59255118d92fac43dcb1999a'), 'name': '王二麻', 'province': '广东', 'age': 30}
条件付きクエリ
for item in db.col.find({'name':"yanying"}): print(item)
クエリ結果
コードは次のとおりです:{'_id': ObjectId('5925351ad92fac3250b9ae3f'), 'name': 'yanying', 'province': '江苏', 'age': 25}もちろん、特定の値
for item in db.col.find({"age":{"$lt":25}}): print(item)より小さいレコードや、特定の値
for item in db.col.find({"age":{"$gt":25}}): print(item)
Statistical より大きいレコードをクエリすることもできます。 query
db.col.find().count() // 4、またはいくつかの条件を追加します
db.col.find({"age":{"$gt":25}}).count() //2_idは、mongodbによって自動的に生成されるIDです。そのタイプは次のとおりです。 ObjectId を使用する場合は、型を変換する必要があります。 このメソッドはpython3で提供されていますが、ライブラリをインポートする必要があります。
from bson.objectid import ObjectIdこのようにして、_id を直接使用してクエリを実行できます。
collection.find_one({'_id':ObjectId('592550e5d92fac0b8c449f87')})
結果の並べ替え
db.col.find().sort("age")並べ替える必要があるフィールドを sort メソッドに入れるだけですが、いくつかのパラメーターを追加して並べ替え方法を変更することもできます。たとえば、逆順ですが、最初に pymongo ライブラリをインポートすることを忘れないでください
import pymongo db.col.find().sort("UserName",pymongo.DESCENDING)これがデフォルトですが、昇順にすることもできます
for item in db.col.find().sort('age',pymongo.ASCENDING): print(item)
Updatedata
コードをコピーします コードは次のとおりです:
db.col.update({'_id':ObjectId('59255118d92fac43dcb1999a')},{'$set':{'name':'王二麻33333'}})結果は次のとおりです: Wang Erma は Wang Erma 33333 になります コードは次のとおりです:
{'_id': ObjectId('59255118d92fac43dcb1999a'), 'name': '王二麻33333', 'province': '广东', 'age': 30}
Deletedata
db.col.remove({'name':'王二麻33333'})すべてのデータを削除します(慎重に使用してください)
db.col.remove()
以上がPython3 で Mongodb を操作するためのシンプルでわかりやすいチュートリアルの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。