ホームページ  >  記事  >  バックエンド開発  >  Python3 で Mongodb を操作するためのシンプルでわかりやすいチュートリアル

Python3 で Mongodb を操作するためのシンプルでわかりやすいチュートリアル

黄舟
黄舟オリジナル
2017-05-28 11:17:571225ブラウズ

この記事では主に

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 コンソールでは何も起こりません。それが成功を意味します。管理ツールを使用してデータベース レコードを表示すると、データが含まれています。

複数のレコードの挿入

Mongodbは一度に複数のデータを挿入することもできます

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

次に、挿入したばかりのデータをクエリします。

単一クエリ

find_one() を使用してレコードをクエリできます。

db.col.find_one()

上記のステートメントは、mongodb レコードをクエリできます。レコード内の追加の _id は、Mongodb によって自動的に生成される一意の値です。

コードをコピーします コードは次のとおりです:

{'_id': ObjectId('5925351ad92fac3250b9ae3f'), 'name': 'yanying', 'province': '江苏', 'age': 25}

次の操作のためにいくつかのデータを挿入します。 (何万語も省略)


すべてをクエリする

すべてのレコードをクエリする必要がある場合は、db.col.find() を使用できますが、検出されるのは結果のリソース セットです。

すべてのレコードをリストするには

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に基づいてレコードをクエリします

_idは、mongodbによって自動的に生成されるIDです。そのタイプは次のとおりです。 ObjectId を使用する場合は、型を変換する必要があります。

このメソッドはpython3で提供されていますが、ライブラリをインポートする必要があります。

from bson.objectid import ObjectId

このようにして、_id を直接使用してクエリを実行できます。

collection.find_one({'_id':ObjectId('592550e5d92fac0b8c449f87')})

結果の並べ替え

Mongodb のデフォルトは昇順です

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

データを削除するには、remove() メソッドを使用します。メソッドに条件がある場合は、指定された条件データを削除します。それ以外の場合はすべて削除します。

名前が Wang Erma 33333 のユーザーを削除します。

db.col.remove({'name':'王二麻33333'})

すべてのデータを削除します(慎重に使用してください)

db.col.remove()

以上がPython3 で Mongodb を操作するためのシンプルでわかりやすいチュートリアルの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。