Skip to content

Quickstart

Quickstart

This guide walks you through creating and interacting with MongoDB documents using Pydongo — covering both Document and Collection workers.


🧱 Step 1: Define a Pydantic Model

from pydantic import BaseModel

class User(BaseModel):
    name: str
    age: int

🔌 Step 2: Connect to MongoDB

from pydongo.drivers.sync_mongo import DefaultMongoDBDriver

driver = DefaultMongoDBDriver("mongodb://localhost:27017", "mydb")
driver.connect()

📄 Step 3: Use the Document Worker (create, update, delete)

from pydongo import as_document

# Create and save a new user
user = User(name="Alice", age=30)
doc = as_document(user, driver)
doc.save()

# Update user and save again
doc.age = 31
doc.save()

# Delete user
doc.delete()

📦 Step 4: Use the Collection Worker (query, read)

from pydongo import as_collection

collection = as_collection(User, driver)

# Insert multiple users
users = [
    User(name="Bob", age=25),
    User(name="Charlie", age=35),
    User(name="Diana", age=40),
]
for user in users:
    as_document(user, driver).save()

# Query users older than 30
results = collection.find(collection.age > 30).all()
for result in results:
    print(f"{result.name} - {result.age}")

# Find one
bob = collection.find_one(collection.name == "Bob")
if bob:
    print("Found Bob:", bob.age)

# Delete via result
if bob:
    bob.delete()

✅ Step 5: Close the driver

driver.close()

This covers basic CRUD using: - as_document() for direct document operations - as_collection() for querying multiple documents

Now you're ready to model complex documents, build queries, and wrap async flows too.