サーチ…


備考

このセクションでは、pymongoの概要と開発者がなぜそれを使いたいのかを概説します。

また、pymongo内の大きな科目についても言及し、関連するトピックにリンクする必要があります。 pymongoのドキュメンテーションは新しいものなので、それらの関連トピックの初期バージョンを作成する必要があります。

インストールまたはセットアップ

pymongoをセットアップまたはインストールするための詳しい手順。

  • Pipでインストールする

    • 初めてpymongoをインストールするには:

      pip install pymongo

    • pymongoの特定のバージョンをインストールする:

      XXXはインストールされるバージョンです。

      pip install pymongo==XXX

    • 既存のpymongoのアップグレード:

      pip install --upgrade pymongo

  • easy_installでインストールする

    • 初めてpymongoをインストールするには:

      python -m easy_install pymongo

    • 既存のpymongoのアップグレード:

      python -m easy_install -U pymongo

こんにちは世界

PyMongoは、MongoDBのネイティブPythonドライバです。

PyMongoをインストールする

pip install pymongo

接続を作成する

MongoClientを使用して接続を作成します。 MongoClientは、指定されていない場合、 localhost:27017上で動作するMongoDBインスタンスをデフォルトにします。

from pymongo import MongoClient
client = MongoClient() 

データベースオブジェクトへのアクセス

PyMongoのデータベースクラスは、MongoDBのデータベース構造を表します。データベースは、論理的に関連するコレクションのグループを保持します。

db = client.mydb

コレクションオブジェクトへのアクセス

PyMongoのCollectionクラスは、MongoDBのコレクション構造を表します。コレクションには、関連するドキュメントのグループがあります。

col = db.mycollection

MongoDBは最初の使用時に暗黙的に新しいデータベースとコレクションを作成します。

基本的なCRUD操作

MongoDBはデータレコードをBSON 文書として保存します。 BSONはJSONのバイナリ表現です。

$ python
>>> from pymongo import MongoClient
>>> client = MongoClient()
>>> col = client.mydb.test

作成する

単一のドキュメントを挿入するinsert_one(document)

>>> result = col.insert_one({'x':1})
>>> result.inserted_id
ObjectId('583c16b9dc32d44b6e93cd9b')

複数のドキュメントを挿入するinsert_many(documents)

>>> result = col.insert_many([{'x': 2}, {'x': 3}])
>>> result.inserted_ids
[ObjectId('583c17e7dc32d44b6e93cd9c'), ObjectId('583c17e7dc32d44b6e93cd9d')]

replace_one(filter, replacement, upsert=False)一致する単一のドキュメントを置き換えます。 (一致する文書が存在しない場合は新しい文書を挿入するには、 upsert=True使用しupsert=True

>>> result = col.replace_one({'x': 1}, {'y': 1})
>>> result.matched_count
1
>>> result.modified_count
1

更新

フィルタに一致する単一のドキュメントを更新するupdate_one(filter, update, upsert=False)

>>> result = col.update_one({'x': 1}, {'x': 3})

フィルタupdate_many(filter, update, upsert=False)一致する1つ以上のドキュメントをupdate_many(filter, update, upsert=False)

>>> result = col.update_many({'x': 1}, {'x': 3})

読む

データベースfind(filter=None, projection=None, skip=0, limit=0, no_cursor_timeout=False)ます。 filter引数は、すべての結果が一致しなければならないプロトタイプドキュメントです。

>>> result = col.find({'x': 1})

データベースから単一の文書を取得するfind_one(filter=None)

>>> result = col.find_one()

投影によるクエリ

query={'x':1}
projection={'_id':0, 'x':1} # show x but not show _id
result=col.find(query,projection)

削除

フィルタに一致する1つのドキュメントを削除するdelete_one(filter)

>>> result = col.delete_one({'x': 1})
>>> result.deleted_count
1

フィルターに一致する1つまたは複数の文書を削除するdelete_many(filter)

>>> result = col.delete_many({'x': 1})
>>> result.deleted_count
3

PyMongoはfind_one_and_delete()find_one_and_update()find_one_and_replace()機能も提供しています。



Modified text is an extract of the original Stack Overflow Documentation
ライセンスを受けた CC BY-SA 3.0
所属していない Stack Overflow