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
-