Python MongoDB クエリ
- 前のページ MongoDB 検索
- 次のページ MongoDB ソート
結果のフィルタリング
コレクション内でドキュメントを検索する際には、queryオブジェクトを使用して結果をフィルタリングできます。
find()
メソッドの最初の引数は、検索を限定するために使用されるqueryオブジェクトです。
例
住所が「Park Lane 38」のドキュメントを検索します:
import pymongo myclient = pymongo.MongoClient("mongodb://localhost:27017/") mydb = myclient["mydatabase"] mycol = mydb["customers"] myquery = { "address": "Park Lane 38" } mydoc = mycol.find(myquery) for x in mydoc: print(x)
高度なクエリ
高度なクエリを行うには、修飾子をクエリオブジェクトの値として使用できます
例えば、「address」フィールドがアルファベット "S" またはそれ以上(アルファベット順)で始まるドキュメントを検索する場合、大きさ修飾子を使用してください:{"$gt": "S"}
:
例
アルファベット "S" またはそれ以上で始まるアドレスのドキュメントを検索:
import pymongo myclient = pymongo.MongoClient("mongodb://localhost:27017/") mydb = myclient["mydatabase"] mycol = mydb["customers"] myquery = { "address": { "$gt": "S" } mydoc = mycol.find(myquery) for x in mydoc: print(x)
正規表現を使用してフィルタリング
正規表現を修飾子として使用することもできます
正規表現は文字列のクエリにのみ使用できます
「address」フィールドがアルファベット "S" で始まるドキュメントのみを検索する場合、正規表現を使用してください {"$regex": "^S"}
:
例
アルファベット "S" で始まるアドレスのドキュメントを検索:
import pymongo myclient = pymongo.MongoClient("mongodb://localhost:27017/") mydb = myclient["mydatabase"] mycol = mydb["customers"] myquery = { "address": { "$regex": "^S" } mydoc = mycol.find(myquery) for x in mydoc: print(x)
- 前のページ MongoDB 検索
- 次のページ MongoDB ソート