Veritabanları gerektirenler gibi büyük uygulamalarla birleştiğinde, Python daha fazla işlevsellik ekler ve özellikle yeni başlayanlar için çalışmak zor olabilir.
Python, bu eklentinin bize basit ve sezgisel bir NoSQL veritabanı kullanarak iş akışımızdan ödün vermeden projelerimize veritabanları eklemek için daha iyi yollar sağladığını biliyor. Python ve popüler bir NoSQL veritabanı olan MongoDB'yi kullanarak geliştirme daha rahat ve sonuçta eğlenceli hale geliyor.
Bu makale çeşitli MongoDB veritabanı kavramlarını gözden geçirerek size bunun ne anlama geldiğine dair sağlam bir anlayış kazandıracaktır. Bundan sonra, MongoDB'nin Linux'a nasıl kurulacağını ele alacağız ve size MongoDB ile etkileşim kurmak için Python'u nasıl kullanacağınızı göstereceğiz.
Başlayalım:
MongoDB'ye Temel Bir Giriş
MongoDB, yüksek ölçeklenebilirlik ve esneklik sağlayan açık kaynaklı, belge tabanlı bir veritabanıdır. Çoğu NoSQL veritabanları gibi, MongoDB de verileri depolamak için JSON kullanır, bu da onu şema gerektirmediği için birlikte çalışması en esnek ve kolay veritabanlarından biri yapar.
Esnekliği ve öğrenme kolaylığı sayesinde, geliştiriciler genellikle MongoDB'yi hızlı veri okuma ve yazma hızları gerektiren büyük projeler için kullanır. Popüler programlama dilleri için sürücülerle önceden paketlenmiş olarak gelir, böylece kullanmadan önce yeni programlama dilleri öğrenme ihtiyacını ortadan kaldırır.
NOT: SQL ve NoSQL veritabanları kavramına aşina değilseniz, aşağıda verilen kaynağa göz atın:
https://www.mongodb.com/nosql-açıklanmış/nosql-vs-sql
MongoDB ile nasıl çalışılacağını öğrenmek temel bir beceridir, çünkü temel olarak, bir programcı olarak zamanın %90'ında (daha fazla değilse bile) verilerle çalışacağınız veri odaklı bir dünyada yaşıyoruz.
MongoDB'de bugünün kılavuzunda ele alacağımızdan daha fazlasının olduğunu belirtmekte fayda var. Daha fazla bilgi edinmek için resmi belgeleri ve harici kaynakları kontrol etmeyi düşünün.
Linux'ta MongoDB Nasıl Kurulur (Debian 10)
MongoDB Community Edition'ın Debian 10'a nasıl kurulacağını hızlıca gözden geçirelim.
NOT: Resmi MongoDB paketi olmadığı için Debian tarafından sağlanan MongoDB paketini kaldırdığınızdan emin olun ve paketin kaldırılmaması en son sürümle çakışabilir:
İlk olarak, şu komutu kullanarak yapabileceğiniz sisteminizin güncel olduğundan emin olun:
sudo apt-get güncelleme && sudo apt-get upgrade -yArdından, GnuPG'yi kurun ve aşağıdaki komutu kullanarak MongoDB deposu ortak anahtarını içe aktarın:
sudo apt-get install gnupg && wget -qO - https://www.mongodb.org/static/pgp/server-4.4.artan | sudo apt-anahtar ekleme -Kaynaklara bir dosya listesi ekleyin.liste.d dizini şu komutu kullanarak:
echo "deb http://repo.mongodb.org/apt/debian buster/mongodb-org/4.4 ana" | sudo tee /etc/apt/sources.liste.d/mongodb-org-4.4.listeYerel depolarınızı güncelleyin ve mongodb-org paketini kurun.
sudo apt-get güncelleme && sudo apt-get install mongodb-orgMongoDB'yi başarıyla kurduktan sonra, sistemi kullanarak hizmeti aşağıdaki gibi başlatın:
sudo systemctl mongod'u başlatAyrıca mongo komutunu kullanarak bir mongo kabuğu başlatabilirsiniz
MongoDB ile Çalışmak için Python Nasıl Kullanılır
Şimdi MongoDB ile çalışmak için Python'un nasıl kullanılacağını tartışalım.
Bu noktada, Python'un zaten sisteminizde kurulu ve kurulu olduğunu varsayacağım.
Bu, kapsamlı bir MongoDB kılavuzu değil, hızlı bir başlangıç kılavuzu olduğundan, yalnızca veritabanıyla etkileşimde bulunmak için PyMongo kullanmanın temellerini tartışacağız.
PyMongo
Resmi Python sürücüsü PyMongo'yu kullanmak için MongoDB ile etkileşim kurarken standart yönteme bakacağız. PyMongo, Python ve MongoDB ile çalışmanın çok verimli bir yoludur ve başlamanın en iyi yollarından biridir.
NOT: Bu başlangıç kılavuzunun tonlarca ayrıntısı olmasına rağmen, daha fazla bilgi edinmek için resmi belgelere bakmayı düşünmelisiniz.
İşte değerlendirmeniz için bazı kaynaklar:
https://pymongo.Belgeleri oku.io/tr/kararlı/dizin.html
https://pypi.kuruluş/proje/pymongo/
https://docs.mongodb.com/sürücüler/pymongo
PyMongo nasıl kurulur
Her zamanki gibi, yapmamız gereken ilk şey Python ortamımıza PyMongo Driver yüklemek; conda veya pip kullanabilirsiniz.
Yüklemek için şu komutu kullanın:
pip yükleme pymongoGerekli işlemler tamamlanana ve PyMongo'nun sisteminize başarıyla yüklenmesine kadar bekleyin. Onaylamak için etkileşimli bir python kabuğunu çalıştırın ve şu komutu yürütün:
>>> pymongo'yu içe aktarBaşarıyla ve hatasız bir şekilde çalıştığında, PyMongo'yu başarıyla yüklediniz ve bir sonraki bölüme geçebiliriz.
MongoDB'ye bağlanmak için PyMongo nasıl kullanılır?
PyMongo kullanarak MongoDB'ye bağlanmak için MongoClient nesnesini kullanırız ve MongoDB'nin ana arka plan programı olan mongod'a bir örnek oluştururuz.
>>> pymongo'dan MongoClient'i içe aktarın>>> müşteri = MongoClient(“localhost”, 27017)
Yukarıdaki kod parçacığı, MongoClient nesnesini PyMongo'dan içe aktarır ve ardından mongod'a bir istemci örneği oluşturur. Hedef ana bilgisayarı ve bağlantı noktasını belirtmeniz gerekmiyorsa, boş bırakabilir ve böylece varsayılan bir bağlantı kurabilirsiniz.
MongoDB URI biçimini şu şekilde de kullanabilirsiniz:
>>> müşteri = MongoClient("mongodb://localhost:27017/")Bu yöntemlerin her ikisi de aynı şeyi yapacaktır; sadece projenizde hangisini kullanmayı tercih ettiğinize bağlıdır.
PyMongo kullanarak bir veritabanı nasıl oluşturulur
MongoDB'de bir veritabanı oluşturmak için PyMong'u kullanmak nispeten basittir. Tek yapmanız gereken veritabanını sorgulamak ve eğer mevcut değilse MongoDB onu otomatik olarak oluşturacaktır.
Aşağıdaki kodu göz önünde bulundurun:
>>> pymongo'dan MongoClient'i içe aktarın>>> müşteri = MongoClient("localhost", 27017)
>>> veritabanı = müşteri["test_database"]
Bir veritabanına erişmek için sözlük yöntemi yerine nitelik yöntemini de kullanabilirsiniz.
>>> veritabanı = müşteri.test_databaseDiğer Veritabanlarından farklı olarak, MongoDB'de, koleksiyonlar (veriler) kaydedilene kadar bir veritabanı tam olarak oluşturulmaz - koleksiyonları SQL veritabanlarında tablolar olarak düşünün.
Bir veritabanına belgeler nasıl eklenir
Bu öğreticinin başında belirtildiği gibi, MongoDB, verileri SQL veritabanlarında satırlar olarak belgelerin bir koleksiyonunda depolanan JSON belgeleri olarak depolar.
PyMongo'da bir belgeyi temsil etmek için python sözlüklerini kullanırız. Aşağıdaki örnek kodu göz önünde bulundurun:
pymongo'dan MongoClient'i içe aktaristemci = MongoClient("localhost", 27017)
veritabanı = müşteri["movie_db"]
filmler = veritabanı.filmler
film_ =
"başlık": "Bay. Robot",
"Oyuncular": "Rami Malek, Christian Slater, Carly Chaikin",
"created": "Sam Esmail",
"Yıl": "2016"
kimlik = filmler.insert_one(film_).eklenen_kimlik
yazdır(kimlik)
Bu kod, kimliği gösterildiği gibi yazdırmalıdır:
5ff57066fee7e4e965f02267
Yeni bir belge oluşturup koleksiyona eklediğimizde, özel bir anahtar veya _id oluşturulur. Kimliğin değeri, küme koleksiyonunda benzersiz olmalıdır.
Basit bir sorgu kullanarak veritabanının, koleksiyonun ve belgenin var olduğunu doğrulayabiliriz.
>>> veritabanı.list_collection_names()['filmler']
Programcılar verimli ve tembel değilse hiçbir şey değildir.
Bu varsayılan eğilim nedeniyle, insert_one () yöntemiyle tek bir belge yerine birden çok belge eklemek için insert_many() yöntemini de kullanabiliriz.
Aşağıdaki kodu göz önünde bulundurun:
pymongo'dan MongoClient'i içe aktaristemci = MongoClient("localhost", 27017)
veritabanı = müşteri["movie_db"]
filmler = veritabanı.filmler
filmler_ = [
“başlık”: “Bay. Robot,"
“Oyuncular”: “Rami Malek, Christian Slater, Carly Chaikin,”
"created": "Sam Esmail",
“Yıl”: “2016.”
,
"başlık": "Big Bang Teorisi"
“Oyuncular”: “Jim Parsons, Kaley Cuoco, Johnny Galecki, Kunal Nayyar, Simon Helber, Mayim Bialik, Melissa Rauch,”
"Oluşturuldu": "Chuck Lorre, Bill Prady"
“Yıl”: “2007.”
,
"başlık": "Uzay Yolu: Orijinal Dizi",
“Oyuncular”: “William Shatner, Leonard Nimoy, Nichelle Nicholas,”
"Oluşturuldu": "Gen Roddenberry",
“Yıl”: “1966.”
]
kimlikler = filmler.insert_many(filmler_).eklenen_idler
yazdır(kimlikler)
Bu size, aşağıda gösterildiği gibi eklenen belgenin _id'lerini vermelidir:
[ObjectId('5ff5749fbbc71282a634303d'),ObjectId('5ff5749fbbc71282a634303e'), ObjectId('5ff5749fbbc71282a634303f')]
Belgeler nasıl getirilir
Bir koleksiyondan belge almak da çok basittir ve find_one() yöntemini kullanarak bunu tek bir kod satırında gerçekleştirebiliriz. Gene Roddenberry'nin filmlerini toplamak için aşağıdaki örneği düşünün.
baskı(filmler.find_one("Oluşturuldu": "Gene Roddenberry"))Bu, Gene Roddenberry tarafından oluşturulan tüm filmleri o veritabanında almalıdır.
'_id': ObjectId('5ff57472e027b7cd22b1f2f4'), 'title': 'Uzay Yolu: Orijinal Dizi', 'Oyuncular': 'William Shatner, Leonard Nimoy, Nichelle Nicholas,', 'Oluşturuldu': 'Gene Roddenbery', ' Yıl': '1966'Veritabanının ve koleksiyonların GUI ekranına bakabilirsiniz. İşte Windows'ta MongoDB Compass'tan alınan bir ekran görüntüsü.
Sonuç
Veritabanlarıyla çalışırken Python programlama dilini etkin bir şekilde kullanmak için projeniz için esnek ve verimli bir veritabanına ihtiyacınız olacak. MongoDB doğru seçimdir. Lütfen bunu MongoDB'nin şimdiye kadarki en iyi veritabanı seçimi olduğu anlamına gelmeyin. Eksiklikleri vardır ama aynı zamanda çoğu kullanım durumu için ideal bir seçimdir.
Bu kılavuz, seçtiğiniz dili kullanarak veritabanlarını denemeye başlamak için ihtiyacınız olan her şeyi size verdi.
Ayrılırken, bu özel konuyu daha iyi anlamak için belgeleri ve kılavuzları okumayı düşünün.