Skip to main content

PYTHON MONGODB CREATE DATABASE & COLLECTION

M
ONGODB CREATE DATABASE & COLLECTION

Creating a Database

To create a database in MongoDB, start by creating a MongoClient object, then specify a connection URL with the correct ip address and the name of the database you want to create.
MongoDB will create the database if it does not exist, and make a connection to it.

import pymongo

myclient = pymongo.MongoClient("mongodb://localhost:27017/")
mydb = myclient["mydatabase"]

Important: In MongoDB, a database is not created until it gets content!
MongoDB waits until you have created a collection (table), with at least one document (record) before it actually creates the database (and collection).

Check if Database Exists
Remember: In MongoDB, a database is not created until it gets content, so if this is your first time creating a database, you should complete the next two chapters (create collection and create document) before you check if the database exists!
You can check if a database exist by listing all databases in you system:
Return a list of your system's databases:

print(myclient.list_database_names())

Or you can check a specific database by name:
Check if "mydatabase" exists:

dblist = myclient.list_database_names()
if "mydatabase" in dblist:
  print("The database exists.")

Create Collection

A collection in MongoDB is the same as a table in SQL databases.
To create a collection in MongoDB, use database object and specify the name of the collection you want to create.
MongoDB will create the collection if it does not exist.

import pymongo
myclient = pymongo.MongoClient("mongodb://localhost:27017/")
mydb = myclient["mydatabase"]
mycol = mydb["customers"]
You can check if a collection exist in a database by listing all collections:
print(mydb.list_collection_names())
Or you can check a specific collection by name:
Check if the "customers" collection exists:
collist = mydb.list_collection_names()
if "customers" in collist:
print("The collection exists.")

Important: In MongoDB, database and collection is not created until it gets content! You can understand by the below example.
import pymongo
myclient = pymongo.MongoClient("mongodb://localhost:27017/")
mydb = myclient["mydatabase"]
print(myclient.list_database_names())
dblist = myclient.list_database_names()
if "mydatabase" in dblist:
  print("The database exists.")
else:
  print("Not exists.")
mycol = mydb["customers"]
print(mydb.list_collection_names())
collist = mydb.list_collection_names()
if "customers" in collist:
  print("The collection exists.")
else:
  "Not exists.")
['admin', 'config', 'demo', 'local']
Not exists.
[]
Not exists.

Notice: The Databse and Collecton has not created,After running code.Because We did not add content.

Comments