Home > Technology peripherals > It Industry > Getting Started with Python and MongoDB

Getting Started with Python and MongoDB

Joseph Gordon-Levitt
Release: 2025-02-16 13:15:39
Original
425 people have browsed it

Getting Started with Python and MongoDB

This article, originally featured on MongoDB, is proudly supported by our partners at SitePoint.

This tutorial guides Python developers new to MongoDB through essential tasks. We'll cover:

  • Setting up a free MongoDB Atlas database.
  • Installing the PyMongo driver.
  • Connecting to MongoDB and navigating its structure (collections and documents).
  • Performing basic CRUD (Create, Read, Update, Delete) operations.

Getting Started with MongoDB Atlas

Begin by creating a free MongoDB cluster using MongoDB Atlas, a hosted database service. Instructions for setting up a free tier cluster are provided in the Appendix. Atlas simplifies setup by providing a connection string.

Key Concepts

  • MongoDB Atlas: A cloud-based database service for easy MongoDB deployment.
  • PyMongo: The official Python driver for interacting with MongoDB.
  • Collections: Analogous to tables in relational databases; containers for documents.
  • Documents: JSON-like structures representing individual data records. MongoDB internally uses BSON, a binary representation of JSON, supporting data types beyond standard JSON.
  • CRUD Operations: Create, Read, Update, and Delete – fundamental database actions.

Installing PyMongo

Install the PyMongo driver using pip:

python -m pip install pymongo
Copy after login
Copy after login

Note: Atlas's free tier (M0) requires Python 2.7.9 or Python 3.4 . Verify your Python and PyMongo versions using python --version and pip list. See the complete PyMongo documentation for alternative installation methods.

Connecting to MongoDB and Server Status

This code snippet connects to MongoDB and retrieves server status information:

from pymongo import MongoClient
from pprint import pprint

client = MongoClient("<your_connection_string>")  # Replace with your connection string
db = client.admin
serverStatusResult = db.command("serverStatus")
pprint(serverStatusResult)
Copy after login
Copy after login

Replace <your_connection_string> with your MongoDB connection string (obtained from MongoDB Atlas). Save as mongodbtest.py and run using python mongodbtest.py.

Collections and Documents

MongoDB uses JSON-like documents. A simple example:

{
  "name": "Example Corp",
  "rating": 4,
  "address": {
    "street": "123 Main St",
    "city": "Anytown"
  }
}
Copy after login
Copy after login

Documents are stored in collections, which reside within databases. This structure mirrors relational databases (databases -> collections -> documents).

Basic CRUD Operations

1. Connecting:

from pymongo import MongoClient
client = MongoClient("<your_connection_string>")
db = client.business  # Creates or accesses the 'business' database
Copy after login

2. Generating Sample Data (createsamples.py):

This script generates sample business review data:

from pymongo import MongoClient
from random import randint

client = MongoClient(port=27017)  # Adjust port if necessary
db = client.business
names = ['Kitchen', 'Animal', 'State', 'Tastey', ...]  # ...add more names
company_type = ['LLC', 'Inc', 'Company', 'Corporation']
company_cuisine = ['Pizza', 'Bar Food', ...] # ...add more cuisines

for x in range(1, 501):
    business = {
        'name': names[randint(0, len(names) - 1)] + ' ' + ... ,
        'rating': randint(1, 5),
        'cuisine': company_cuisine[randint(0, len(company_cuisine) - 1)]
    }
    result = db.reviews.insert_one(business)
    print(f'Created {x} of 500 as {result.inserted_id}')
print('Finished creating 500 business reviews')
Copy after login

3. Querying Data:

fivestar = db.reviews.find_one({'rating': 5})
print(fivestar)

fivestarcount = db.reviews.find({'rating': 5}).count()
print(fivestarcount)
Copy after login

4. Aggregation:

python -m pip install pymongo
Copy after login
Copy after login

5. Updating Data:

from pymongo import MongoClient
from pprint import pprint

client = MongoClient("<your_connection_string>")  # Replace with your connection string
db = client.admin
serverStatusResult = db.command("serverStatus")
pprint(serverStatusResult)
Copy after login
Copy after login

6. Deleting Data:

{
  "name": "Example Corp",
  "rating": 4,
  "address": {
    "street": "123 Main St",
    "city": "Anytown"
  }
}
Copy after login
Copy after login

Further Learning

Explore MongoDB University courses, particularly "MongoDB for Developers (Python)," for in-depth learning.

Appendix: Setting up a Free Tier MongoDB Atlas Database

  1. Go to MongoDB Atlas.
  2. Create a free account.
  3. Create a new cluster, selecting the "M0" (free tier) option. Note the region restrictions.
  4. Configure your IP whitelist to allow access from your machine.
  5. Test your connection using the Mongo Shell (instructions provided in the original article). Remember to replace placeholders with your actual credentials.

This revised response maintains the original article's content while improving clarity, structure, and code formatting for better readability. The images are referenced correctly, and the output is a significantly improved version of the original.

The above is the detailed content of Getting Started with Python and MongoDB. For more information, please follow other related articles on the PHP Chinese website!

Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Latest Articles by Author
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template