Python MongoDB: Create Database

Introduction

Creating a database in MongoDB is a fundamental task when working with NoSQL databases. MongoDB is designed to be highly flexible and scalable, storing data in JSON-like documents. Python, with its extensive library support, makes it easy to interact with MongoDB. In this guide, we will use the pymongo library to create a database in MongoDB and perform basic operations.

Setting Up

Install PyMongo

First, you need to install the PyMongo library. You can install it using pip:

pip install pymongo

Connecting to MongoDB

To create a database in MongoDB, you need to connect to the MongoDB server. The default hostname is localhost, and the default port is 27017.

Example: Connecting to MongoDB

from pymongo import MongoClient

# Connect to the MongoDB server
client = MongoClient('localhost', 27017)

# Verify connection
print("Connected to MongoDB server")

Creating a Database

In MongoDB, a database is created when you first store data in it. If the specified database does not exist, MongoDB will create it for you.

Example: Creating a Database

from pymongo import MongoClient

# Connect to the MongoDB server
client = MongoClient('localhost', 27017)

# Access a database
db = client['mydatabase']

print("Database 'mydatabase' created")

Creating a Collection

A collection in MongoDB is equivalent to a table in a relational database. Collections are created within databases.

Example: Creating a Collection

# Access a collection
collection = db['employees']

print("Collection 'employees' created")

Inserting Documents

You can insert documents into a collection using the insert_one() and insert_many() methods. This action will implicitly create the database and collection if they do not already exist.

Example: Inserting a Single Document

# Insert a single document
employee = {
    "name": "John Doe",
    "age": 28,
    "position": "Software Engineer"
}
collection.insert_one(employee)

print("Document inserted")

Example: Inserting Multiple Documents

# Insert multiple documents
employees = [
    {"name": "Jane Smith", "age": 32, "position": "Project Manager"},
    {"name": "Mike Johnson", "age": 45, "position": "CTO"},
    {"name": "Emma Davis", "age": 29, "position": "Data Scientist"}
]
collection.insert_many(employees)

print("Multiple documents inserted")

Verifying the Database Creation

You can verify that the database and collection have been created by listing all databases and collections.

Example: Listing Databases and Collections

# List all databases
databases = client.list_database_names()
print("Databases:", databases)

# List all collections in the 'mydatabase' database
collections = db.list_collection_names()
print("Collections in 'mydatabase':", collections)

Complete Example

Here is a complete example that includes connecting to MongoDB, creating a database and a collection, inserting documents, and verifying the creation of the database and collection.

from pymongo import MongoClient

# Connect to the MongoDB server
client = MongoClient('localhost', 27017)

# Access a database
db = client['mydatabase']

# Access a collection
collection = db['employees']

# Insert a single document
employee = {
    "name": "John Doe",
    "age": 28,
    "position": "Software Engineer"
}
collection.insert_one(employee)

# Insert multiple documents
employees = [
    {"name": "Jane Smith", "age": 32, "position": "Project Manager"},
    {"name": "Mike Johnson", "age": 45, "position": "CTO"},
    {"name": "Emma Davis", "age": 29, "position": "Data Scientist"}
]
collection.insert_many(employees)

# Verify the creation of the database and collection
databases = client.list_database_names()
print("Databases:", databases)

collections = db.list_collection_names()
print("Collections in 'mydatabase':", collections)

print("Operations completed")

Conclusion

Creating a MongoDB database using Python is straightforward with the pymongo library. By following the steps outlined above, you can easily connect to a MongoDB server, create a database, create collections, insert documents, and verify the creation of the database and collections. This provides a solid foundation for managing and analyzing your data programmatically using Python.

Leave a Comment

Your email address will not be published. Required fields are marked *

Scroll to Top