Ana içeriğe atla

FAQs

Learn what PyMongo is, why Python developers use it with MongoDB, and how to quickly connect MongoDB to your Python app.
Güncel 3 Eki 2026  · 5 dk. oku

Yapay Zeka ile Keşfedin

ChatGPTClaudePerplexity

MongoDB kümenizi Python projenize bağlamaya hazır mısınız? Şanslısınız. Bu eğitimde PyMongo’nun ne olduğunu, MongoDB’yi veritabanı olarak kullanan Python geliştiricileri için neden tercih edilen paket olduğunu ve ilk bağlantınızı mümkün olduğunca verimli bir şekilde nasıl çalışır hale getireceğinizi öğreneceksiniz. 

Yeni başlıyorsanız mutlaka şu kursumuza göz atın: Python’da Veri Bilimi için MongoDB Kullanımına Giriş.

PyMongo nedir?

Peki, PyMongo Python paketi tam olarak nedir? Bu paket, geliştiricilerin Python uygulamaları ve MongoDB veritabanlarıyla bağlantı kurmasını, sorgu çalıştırmasını ve etkileşimde bulunmasını sağlayan MongoDB’nin resmi Python sürücüsüdür. 

Python’dan MongoDB veritabanlarınızla etkileşime geçmenin önerilen yoludur ve Flask ile Django ile uyumluluğu sayesinde çeşitli web uygulamaları geliştirmek için harikadır. Python geliştiricilerinin MongoDB’yi uygulamalarında tam kapasiteyle kullanmasına gerçekten yardımcı olur. 

Şimdi, örnek bir CRUD (create, read, update, delete — oluşturma, okuma, güncelleme, silme) kullanıcı uygulamasını çalıştırarak PyMongo ile nasıl başlayacağımızı görelim; böylece en az kodla ne kadar kolay ayağa kalktığını göreceksiniz! 

Başarı için Gereksinimler 

Bu eğitimi sorunsuz takip edebilmek için lütfen aşağıdaki ön koşullara sahip olduğunuzdan emin olun: 

  • Bir MongoDB Atlas hesabı
  • Seçtiğiniz bir IDE (bu eğitimde Google Colab defteri kullanılıyor)
  • Python 3.6+
  • pip kurulmuş olmalı (Google Colab dışında bir IDE kullanıyorsanız). 

Bir MongoDB Kümesi Oluşturma 

MongoDB veritabanımızı Python projemize bağlamadan önce bir küme oluşturmamız gerekiyor! Bunu yapmak için MongoDB Atlas hesabınıza giriş yapın ve henüz yoksa yeni bir proje oluşturun. 

 MongoDB Atlas’ta proje oluşturma

 Ardından, proje içinde bir küme oluşturun. 

Proje içinde bir küme oluşturma

Şimdi kümenizi dağıtmaya hazırsınız. “Free” katmanını tıklayın (sonsuz ücretsiz!) ve kümeniz için bir ad seçin ya da varsayılan adı kullanın. 

Lütfen kümeniz için bir ad seçtikten sonra bunu değiştiremeyeceğinizi unutmayın. Bulut sağlayıcısını seçin (AWS, Google Cloud ve Azure arasından seçim yapabilirsiniz) ve doğru bölgede olduğunuzdan emin olun.

Kümenizi dağıtma

Yeşil “Create Deployment” düğmesine tıklayın ve devam etmeye hazırız. 

Sizden kümeniz için bir “Username” ve “Password” seçmeniz istenecek. Lütfen akılda kalıcı (ama bu eğitimdeki kadar değil!) ve güvenli bir şey seçin; bu bilgilere Bağlantı Dizenize her eriştiğinizde ihtiyaç duyacaksınız. 

Kendinize kolaylık olması için “Preload sample dataset” düğmesine de tıklamayı unutmayın. Bu, birlikte çalışacağımız “sample_mflix” örnek veri setini otomatik olarak yükleyecektir. 

Devam etmek için “Create Database User”a tıklayın. 

Kullanıcı adı ve parola seçimi

Artık kümenize bağlanabilirsiniz! Bunu yapmanın birçok yolu var, ancak bu eğitim PyMongo’ya odaklandığı için Sürücüler üzerinden bağlanacağız. 

Kümenize bağlanın

“Python”u ve kullanmak istediğiniz sürümü seçin (biz 4.7 veya daha yenisini seçeceğiz) ve Bağlantı Dizenizi göreceksiniz. Kullanıcı adınız ve parolanız kullanım kolaylığı için otomatik olarak doldurulur.

MongoDB Sürücüsü ile bağlanma

Artık Bağlantı Dizenizi aldığınıza göre lütfen onu güvenli bir yerde saklayın. Yeşil “Done” düğmesine basabiliriz. 

Kümeniz yapılandırıldığında şöyle görünecektir. 

Yapılandırılmış küme görünümü]

Lütfen ekranın sol tarafındaki “Network Access” düğmesine gidin ve IP adresinizin doğru yapılandırıldığından emin olun. Bu eğitim için (elbette üretim için önerilmez), basitlik adına IP adresinizi “Access from Anywhere” yapabilirsiniz. 

Üretim uyarısı: Üretim seviyesindeki uygulamalar için Atlas’ta Network Access > IP Access List altında belirli IP’leri beyaz listeye alın. 

Şimdi seçtiğiniz IDE’ye geçelim ve elimizdeki verilerle biraz oynayalım! 

PyMongo ile Bağlanma ve CRUD İşlemleri Yapma

İlk adımımız, pip ile pymongo kurmak. Bu adımda ayrıca bağlantımızın güvenli kalmasını istediğimiz için getpass de yüklüyoruz:

!pip install pymongo

Sırada kümesimize MongoDB bağlantısını ayarlamak var. Bağlantımızı sağlamak için MongoClient kullanacağız. 

import getpass
from pymongo import MongoClient


# Get connection string from user
connection_string = getpass.getpass(prompt="Enter connection string WITH USER + PASS here: ")


try:
   client = MongoClient(connection_string)
   client.admin.command("ping")
   print("Successfully connected")
  
except Exception as e:
   print("Connection failed:", e)

Veritabanımızın ve koleksiyonumuzun adını görmek için kümenize geri dönün. Veritabanı adı sample_mflix ve koleksiyon adı users. 

Bu örnek kümede üzerinde çalıştığımız bilgilere bir örnek: Her belgenin ObjectId’si ile birlikte her kullanıcının adı, e-postası ve parolası var. 

Üzerinde çalıştığımız koleksiyon

Betikten belgeleri okuyabildiğimizden emin olmak için hızlı bir test çalıştıralım: 

database = client["sample_mflix"]
collection = database["users"]

for document in collection.find().limit(20):
    print(document)

Başarıyla çalıştığında şunu göreceksiniz:

MongoDB veritabanımıza doğru şekilde bağlandığımızı doğrulama

Not: sample_mflix veri seti, gösterim amaçlı olarak düz metin parolalar içerir. Gerçek uygulamalarda parolaları daima hash’leyin (örn. bcrypt veya Argon2 ile) ve kimlik bilgilerini kod içerisine gömmekten kaçının.

Bu, aynı zamanda kümedeki bilgileri okuma yolumuzdu! Şimdi yeni bir kullanıcı oluşturalım. 

new_user = {
   "name": "Anaiya Raisinghani",
   "email": "fakeanaiya@gmail.com",
   "password": "pleasedonothackme"
}

# insert the document
result = collection.insert_one(new_user)

print(result.inserted_id)

Yeni kullanıcı kimliğimizi görebiliyoruz ve kümeme geri dönersem bu kimliği arayarak yeni kullanıcı belgem çıkıyor mu kontrol edebilirim:

Yeni kullanıcı belgemizi arama

Şimdi, az önce oluşturduğumuz belgeyi güncelleyelim. 

Not: BSON, PyMongo ile birlikte gelir—ek kurulum gerekmez. ObjectId, MongoDB’nin varsayılan benzersiz kimlik formatıdır.

from bson import ObjectId

collection.update_one(
   {"_id": result.inserted_id}, # using the same document that we inserted above
   {"$set": {"password": "help!ivebeenhacked!!"}}
)

Belgemizi güncelledik

Gördüğümüz gibi parola güncellendi ve değişiklik MongoDB Atlas arayüzümüzde görünüyor. 

Şimdi bu belgeyi silelim. 

delete_user = collection.delete_one({"_id": result.inserted_id})

print("Deleted users:", delete_user.deleted_count)

Silinen kullanıcılar “1” olacaktır. MongoDB Atlas arayüzümüzde bir kez daha kontrol edelim (emin olmak için!).

Kullanıcımızı başarıyla sildik

Belgemizi başarıyla sildik! 

Sonuç

Bu eğitimde, MongoDB’nin resmi Python sürücüsü olan PyMongo ile ilk 10 dakikanızı başarıyla tamamladık. Koleksiyonumuzdaki belgeleri okuduk, yeni bir kullanıcı oluşturduk, o kullanıcıyı güncelledik ve sildik!

PyMongo hakkında daha fazla bilgi için lütfen şu kursa göz atın: Python’da Veri Bilimi için MongoDB Kullanımına Giriş ve resmi dokümantasyonu ziyaret edin.

FAQs

What are some common errors when connecting PyMongo to MongoDB?

Typical issues include incorrect connection strings, firewall restrictions (IP whitelist), or authentication failures. Check your credentials and network settings carefully if connections fail.

Does PyMongo support asynchronous programming?

PyMongo itself does not natively support async operations. If you need async capabilities, consider using Motor, MongoDB’s official asynchronous Python driver.

Can PyMongo handle database transactions?

Yes, PyMongo supports multi-document ACID transactions, provided you’re using MongoDB replica sets or sharded clusters. Transactions are not available on standalone deployments.

How do I handle PyMongo connection pooling?

PyMongo automatically manages connection pooling behind the scenes. You can configure pooling parameters (like pool size and timeout) via MongoClient settings if needed.

Can I use PyMongo with Pandas for data analysis tasks?

Absolutely! You can easily fetch MongoDB data using PyMongo, then load it directly into Pandas DataFrames for data analysis and manipulation.


Anaiya Raisinghani's photo
Author
Anaiya Raisinghani
LinkedIn

Anaiya, NYC'de bulunan MongoDB'de bir Geliştirici Savunucusudur.

Konular
MongoDB
Python

Top DataCamp Courses

Kurs

Python ile MongoDB'ye Giriş

3 sa
24.4K
MongoDB ile esnek yapılandırılmış verileri işlemeyi ve analiz etmeyi öğrenin.
Ayrıntıları GörüntüleRight Arrow
Kursa Başla
Devamını GörRight Arrow
İlgili

blog

2026’da En Popüler 40 Yazılım Mühendisi Mülakat Sorusu

Algoritmalar, sistem tasarımı ve davranışsal senaryoları kapsayan bu temel sorularla teknik mülakat sürecine hakim olun. Uzman cevapları, kod örnekleri ve kanıtlanmış hazırlık stratejileri edinin.
Dario Radečić's photo

Dario Radečić

15 dk.

blog

Hızlı Sevkiyat İçin Pratik Vibe Kodlama Teknoloji Yığını

Ön uç, arka uç, veritabanları, kimlik doğrulama, depolama, e-posta, test, dağıtım ve izleme için en iyi araçları keşfedin.
Abid Ali Awan's photo

Abid Ali Awan

14 dk.

Eğitim

Python'da Listeyi String'e Nasıl Dönüştürürsünüz

Bu hızlı eğitimde, Python'da bir listeyi string'e nasıl dönüştüreceğinizi öğrenin.
Adel Nehme's photo

Adel Nehme

Eğitim

.gitignore Nasıl Kullanılır: Örneklerle Pratik Bir Giriş

Git deponuzu temiz tutmak için .gitignore’u nasıl kullanacağınızı öğrenin. Bu eğitim; temelleri, yaygın kullanım durumlarını ve başlamanıza yardımcı olacak pratik örnekleri kapsar!
Kurtis Pykes 's photo

Kurtis Pykes

8 dk.

Devamını GörDevamını Gör