PyMongo'yu kullanmaya başlama

Selam Dünya

PyMongo, MongoDB için yerel bir Python sürücüsüdür.

PyMongo’yu yükleyin

pip install pymongo

Bağlantı oluştur

Bağlantı oluşturmak için MongoClient kullanın. MongoClient, belirtilmemişse “localhost:27017” üzerinde çalışan MongoDB örneğini varsayılan olarak ayarlar.

from pymongo import MongoClient
client = MongoClient() 

Veritabanı Nesnelerine Erişim

PyMongo’nun Database sınıfı, MongoDB’deki veritabanı yapısını temsil eder. Veritabanları, mantıksal olarak ilişkili koleksiyon gruplarını tutar.

db = client.mydb

Koleksiyon Nesnelerine Erişim

PyMongo’nun Collection sınıfı, MongoDB’deki koleksiyon yapısını temsil eder. Koleksiyonlar, ilgili belge gruplarını içerir.

col = db.mycollection

MongoDB, ilk kullanımda örtük olarak yeni veritabanları ve koleksiyonlar oluşturur.

Temel CRUD İşlemi

MongoDB, veri kayıtlarını BSON belgeler olarak saklar. BSON, JSON’un ikili gösterimidir.

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

Oluşturmak

Tek bir belge “insert_one(belge)” ekleyin

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

Birden çok belge ekle insert_many(belgeler)

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

replace_one(filter, replace, upsert=False) filtresiyle eşleşen tek bir belgeyi değiştirin. (eşleşen belge yoksa yeni bir belge eklemek için upsert=True kullanın)

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

Güncelleme

update_one(filter, update, upsert=False) filtresiyle eşleşen tek bir belgeyi güncelleyin

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

update_many(filter, update, upsert=False) filtresiyle eşleşen bir veya daha fazla belgeyi güncelleyin

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

Okumak

find(filter=Yok, projeksiyon=Yok, atlama=0, limit=0, no_cursor_timeout=False) veritabanını sorgulayın. filtre bağımsız değişkeni, tüm sonuçların eşleşmesi gereken bir prototip belgedir.

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

find_one(filter=None) veritabanından tek bir belge alın

>>> result = col.find_one()

Projeksiyonlu Sorgulama

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

Silmek

delete_one(filter) filtresiyle eşleşen tek bir belgeyi silin

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

delete_many(filter) filtresiyle eşleşen bir veya daha fazla belgeyi silin

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

PyMongo ayrıca find_one_and_delete(), find_one_and_update() ve find_one_and_replace() işlevselliği sağlar.

Kurulum veya Kurulum

Pymongo’nun kurulması veya yüklenmesiyle ilgili ayrıntılı talimatlar.

  • Pip ile yükleme

    • To install pymongo for the first time:

      pip install pymongo

    • Installing a specific version of pymongo:

      Where X.X.X is the version to be installed

      pip install pymongo==X.X.X

    • Upgrading existing pymongo:

      pip install --upgrade pymongo

  • easy_install ile yükleme

    • To install pymongo for the first time:

      python -m easy_install pymongo

    • Upgrading existing pymongo:

      python -m easy_install -U pymongo