Pythonチュートリアル

Pythonホーム Pythonイントロ Pythonはじめに Python構文 Pythonコメント Python変数 Pythonデータ型 Python番号 Pythonキャスティング Python文字列 Pythonブール値 Python演算子 Pythonリスト Pythonタプル Pythonセット Python辞書 Python If ... Else PythonのWhileループ PythonForループ Python関数 Python Lambda Python配列 Pythonクラス/オブジェクト Pythonの継承 Pythonイテレータ Pythonスコープ Pythonモジュール Pythonの日付 Python数学 Python JSON Python RegEx Python PIP Python試してみてください... Pythonユーザー入力 Python文字列フォーマット

ファイル処理

Pythonファイル処理 Python読み取りファイル Python書き込み/ファイルの作成 Pythonファイルの削除

Pythonモジュール

NumPyチュートリアル パンダ攻略 Scipyチュートリアル

Python Matplotlib

Matplotlibイントロ Matplotlibはじめに Matplotlib Pyplot Matplotlibプロット Matplotlibマーカー Matplotlibライン Matplotlibラベル Matplotlibグリッド Matplotlibサブプロット Matplotlib散布図 Matplotlibバー Matplotlibヒストグラム Matplotlib円グラフ

機械学習

入門 平均中央値モード 標準偏差 パーセンタイル データ配信 正規データ分布 散布図 線形回帰 多項式回帰 重回帰 規模 トレーニング/テスト デシジョンツリー

Python MySQL

MySQLはじめに MySQLデータベースの作成 MySQLテーブルの作成 MySQL挿入 MySQL Select MySQL Where MySQL Order By MySQL削除 MySQLドロップテーブル MySQLアップデート MySQLの制限 MySQL参加

Python MongoDB

MongoDBはじめに MongoDBデータベースの作成 MongoDBCreateコレクション MongoDBインサート MongoDB検索 MongoDBクエリ MongoDBソート MongoDB削除 MongoDBドロップコレクション MongoDBアップデート MongoDBの制限

Pythonリファレンス

Pythonの概要 Python組み込み関数 Python文字列メソッド Pythonリストメソッド Python辞書メソッド Pythonタプルメソッド Pythonセットメソッド Pythonファイルメソッド Pythonキーワード Pythonの例外 Python用語集

モジュールリファレンス

ランダムモジュール リクエストモジュール 統計モジュール 数学モジュール cMathモジュール

Pythonハウツー

リストの重複を削除する 文字列を逆にする 2つの数字を追加する

Pythonの例

Pythonの例 Pythonコンパイラ Python演習 Pythonクイズ Python証明書

PythonMongoDB検索


MongoDBでは、findメソッドとfindOneメソッドを使用して、コレクション内のデータを検索します。

SELECTステートメントを使用してMySQLデータベースのテーブル内のデータを検索するのと同じです。

1つ見つける

MongoDBのコレクションからデータを選択するには、この find_one()メソッドを使用できます。

このfind_one()メソッドは、選択範囲の最初のオカレンスを返します。

顧客コレクションの最初のドキュメントを検索します。

import pymongo

myclient = pymongo.MongoClient("mongodb://localhost:27017/")
mydb = myclient["mydatabase"]
mycol = mydb["customers"]

x = mycol.find_one()

print(x)

すべて検索

MongoDBのテーブルからデータを選択するには、この find()メソッドを使用することもできます。

このfind()メソッドは、選択範囲内のすべてのオカレンスを返します。

メソッドの最初のパラメーターはfind()クエリオブジェクトです。この例では、コレクション内のすべてのドキュメントを選択する空のクエリオブジェクトを使用します。

find()メソッドにパラメータがない場合、 MySQLのSELECT *と同じ結果が得られます。

「customers」コレクション内のすべてのドキュメントを返し、各ドキュメントを印刷します。

import pymongo

myclient = pymongo.MongoClient("mongodb://localhost:27017/")
mydb = myclient["mydatabase"]
mycol = mydb["customers"]

for x in mycol.find():
  print(x)


一部のフィールドのみを返す

メソッドの2番目のパラメーターはfind()、結果に含めるフィールドを記述するオブジェクトです。

このパラメーターはオプションであり、省略した場合、すべてのフィールドが結果に含まれます。

_idsではなく、名前とアドレスのみを返します。

import pymongo

myclient = pymongo.MongoClient("mongodb://localhost:27017/")
mydb = myclient["mydatabase"]
mycol = mydb["customers"]

for x in mycol.find({},{ "_id": 0, "name": 1, "address": 1 }):
  print(x)

同じオブジェクトに0と1の両方の値を指定することはできません(フィールドの1つが_idフィールドである場合を除く)。値が0のフィールドを指定すると、他のすべてのフィールドは値1を取得し、その逆も同様です。

この例では、結果から「アドレス」を除外します。

import pymongo

myclient = pymongo.MongoClient("mongodb://localhost:27017/")
mydb = myclient["mydatabase"]
mycol = mydb["customers"]

for x in mycol.find({},{ "address": 0 }):
  print(x)

同じオブジェクトに0と1の両方の値を指定すると、エラーが発生します(フィールドの1つが_idフィールドである場合を除く)。

import pymongo

myclient = pymongo.MongoClient("mongodb://localhost:27017/")
mydb = myclient["mydatabase"]
mycol = mydb["customers"]

for x in mycol.find({},{ "name": 1, "address": 0 }):
  print(x)