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:
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
Installing PyMongo
Install the PyMongo driver using pip:
python -m pip install pymongo
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)
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" } }
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
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')
3. Querying Data:
fivestar = db.reviews.find_one({'rating': 5}) print(fivestar) fivestarcount = db.reviews.find({'rating': 5}).count() print(fivestarcount)
4. Aggregation:
python -m pip install pymongo
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)
6. Deleting Data:
{ "name": "Example Corp", "rating": 4, "address": { "street": "123 Main St", "city": "Anytown" } }
Further Learning
Explore MongoDB University courses, particularly "MongoDB for Developers (Python)," for in-depth learning.
Appendix: Setting up a Free Tier MongoDB Atlas Database
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!