Deployed MongoDB 4.4.3 Python 3.9.1 pip install pymongo==3.11.3 import os from pprint import pprint from pymongo import MongoClient Initialize the connection MONGODB_USERNAME = os .environ .get ("MONGODB_USERNAME" )
MONGODB_PASSWORD = os .environ .get ("MONGODB_PASSWORD" )
MONGODB_HOST = os .environ .get ("MONGODB_HOST" )
MONGODB_DATABASE = os .environ .get ("MONGODB_DATABASE" )
MONGODB_COLLECTION = os .environ .get ("MONGODB_COLLECTION" )uri = f"mongodb://{ MONGODB_USERNAME } :{ MONGODB_PASSWORD } @{ MONGODB_HOST } " connection = MongoClient (uri )db = connection [MONGODB_DATABASE ]collection = db [MONGODB_COLLECTION ]doc = {
"item" : "canvas" ,
"qty" : 100 ,
"tags" : ["cotton" ],
"size" : {
"h" : 28 ,
"w" : 35.5 ,
"uom" : "cm"
}
}docs = [
{
"item" : "journal" ,
"qty" : 25 ,
"size" : {"h" : 14 , "w" : 21 , "uom" : "cm" },
"status" : "A"
},
{
"item" : "notebook" ,
"qty" : 50 ,
"size" : {"h" : 8.5 , "w" : 11 , "uom" : "in" },
"status" : "A"
},
{
"item" : "paper" ,
"qty" : 100 ,
"size" : {"h" : 8.5 , "w" : 11 , "uom" : "in" },
"status" : "D"
},
{
"item" : "planner" ,
"qty" : 75 ,
"size" : {"h" : 22.85 , "w" : 30 , "uom" : "cm" },
"status" : "D"
},
{
"item" : "postcard" ,
"qty" : 45 ,
"size" : {"h" : 10 , "w" : 15.25 , "uom" : "cm" },
"status" : "A"
}
]Select All Documents in a Collection Specify Equality Condition Specify Conditions Using Query Operators query = {"status" : {"$in" : ["A" , "D" ]}}query = {"status" : "A" , "qty" : {"$lt" : 30 }}query = {"$or" : [{"status" : "A" }, {"qty" : {"$lt" : 30 }}]}Specify AND as well as OR Conditions query = {
"status" : "A" ,
"$or" : [{"qty" : {"$lt" : 30 }}, {"item" : {"$regex" : "^p" }}]
}Set the value of a field to current date update_operator = {
"$currentDate" : {
"current_date_default" : True ,
"current_date" : {"$type" : "date" },
"current_timestamp" : {"$type" : "timestamp" }
}
}Increment the value of the field by the specified amount update_operator = {
"$inc" : {
"emptyField" : 1 ,
"a.a" : 1 ,
}
}pipeline .append ({
"$limit" : 100 ,
})pipeline .append ({
"$match" : {"status" : "A" }
})pipeline .append ({
"$project" : {"status" : 1 }
})pipeline .append ({
"$sort" : {"status" : - 1 }
})collection .insert_one (doc )Insert multiple documents collection .insert_many (docs )Number of documents in the collection collection .count_documents (query )cursor = collection .find (query )collection .update_one (query , update_operator )collection .update_many (query , update_operator )collection .replace_one (query , doc )collection .delete_one (query )collection .delete_many (query )cursor = collection .aggregate (pipeline , allowDiskUse = True )for doc in cursor :
pprint (doc )FROM python:3.9.1-buster
RUN pip install pymongo ==3.11.3 docker build -t python-pymongo-usage . MONGODB_USERNAME =user
MONGODB_PASSWORD =topsecret
MONGODB_HOST =mongodb
MONGODB_DATABASE =newdb
MONGODB_COLLECTION =testcollectiondocker run --rm --link mongodb --env-file .env -it python-pymongo-usage python https://docs.mongodb.com/manual/crud/