TECH I.S.

Python MongoDB クエリ


結果をフィルタリングする

コレクション内のドキュメントを検索する場合、クエリオブジェクトを使用して結果をフィルター処理できます。

最初の引数find()メソッドはクエリオブジェクトであり、検索を制限するために使用されます。

住所が「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)
実行例 »

高度なクエリ

高度なクエリを作成するには、修飾子をクエリオブジェクトの値として使用できます。

例えば「住所」フィールドが文字「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)

実行例 »


正規表現によるフィルタリング

修飾子として正規表現を使用することもできます。


正規表現は、文字列のクエリにのみ使用できます。


「住所」フィールドが文字「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)
実行例 »

プログラミング学習を加速させる

プログラミングをプロの講師に教えてもらいませんか。

テックアイエスのプログラミングスクールは初心者も大歓迎です。年齢制限もありません。転職・副業に強く、挫折させない手厚いサポートで稼ぐ力を身につけましょう!

スクールの詳細