General MongoDB introductions
It is worth taking some time to learn the ins and outs of MongoDB before connecting it to your Python application. The following tutorials are not specific to Python and will have you work directly with the MongoDB command line and query language.
- Getting Started with MongoDB – Part 1 and Part 2 are programming language agnostic tutorials that show how to interact via querying and various operators such as
- An Introduction to MongoDB examines common commands frequently used to perform data operations.
- MongoDB In 30 Minutes goes over the basics for creating, querying, updating and deleting data in MongoDB.
- MongoDB queries do not always return all matching documents! walks through discovering that potential pitfalls on how MongoDB queries operate that were non-intuitive to developers who are new to using this database.
NoSQL databases can be a weak spot in a production deployment environment, especially when default settings are built for ease of development instead of proper access control. MongoDB is no exception with its loose default security controls so make sure to lock down your instances.
- For God’s sake, secure your Mongo/Redis/etc! explains the weak default security settings provided by many NoSQL databases, including MongoDB. Make sure to automate locking down your NoSQL databases just as you would any other component in your stack.
- Before deploying a MongoDB instance to production, be sure to go through each of the items on the official MongoDB security checklist.
- 10 tips to improve your MongoDB security provides concrete steps to take such as disabling the REST interface and other default bits that can be exploited if you are not intentionally using them.
- MongoDB Security Basics For Your Deployments in AWS is primarily a guide on AWS security from the perspective of using installing and using MongoDB on your own instance. The post covers authentication, SSL and firewalls.
Python with MongoDB resources
MongoDB is straightforward to use in a Python application when a driver such as PyMongo is installed. The following tutorials show how to install, configure and start using MongoDB with Python.
- Introduction to MongoDB and Python shows how to use Python to interface with MongoDB via PyMongo and MongoEngine.
- A Gentle Introduction to MongoDB using Pymongo reviews a connection configuration file, the basics for data insertion, aggregation and updating records.
- The PyMongo project creators wrote a retrospective focusing on four decisions they would have done differently with the benefit of hindsight:
- Python and MongoDB on the Talk Python to Me podcast has a great interview with the MongoDB Python driver maintainer.