Environment dependency
Python provides a unified access interface for DDS through PyMongo library. Applications can operate data based on PyMongo, which supports SSL connection, and internally supports multi-threaded applications through connection pooling.
PyMongo can be installed in the following ways:
pip install pymongo
Python-based connection to database
Install pymongo
pip install pymongo
Connect using SSL certificate
from pymongo import MongoClient
import ssl
# Specify the connection URI of the document database
uri = "mongodb://username:password@hostname:port/database_name?ssl=true&authSource=admin"
# Create SSL context
context = ssl.create_default_context(cafile="/path/to/ca.pem")
context.load_cert_chain("/path/to/client.pem", keyfile="/path/to/client.key")
# Create client
client = MongoClient(uri, ssl_certfile="/path/to/client.pem", ssl_keyfile="/path/to/client.key", ssl_ca_certs="/path/to/ca.pem", ssl_cert_reqs=ssl.CERT_REQUIRED, ssl_context=context)
# Get database instance
database = client["testdb"]
# Get collection instance
collection = database["testcollection"]
# Insert document
document = {"name": "John Doe", "age": 30, "email": "johndoe@example.com"}
collection.insert_one(document)
# Query document
query = {"name": "John Doe"}
result = collection.find_one(query)
print(result)
# Close connection
client.close()Certificateless Connection
from pymongo import MongoClient
# Specify the connection URI of database
uri = "mongodb://username:password@hostname:port/database_name?authSource=admin"
# Create client
client = MongoClient(uri)
# Get database instance
database = client["testdb"]
# Get collection instance
collection = database["testcollection"]
# Insert document
document = {"name": "John Doe", "age": 30, "email": "johndoe@example.com"}
collection.insert_one(document)
# Query document
query = {"name": "John Doe"}
result = collection.find_one(query)
print(result)
# Close connection
client.close()Python-based access to database
Access DataBase
database = client["testdb"]
Access collection
collection = database["testcollection"]
Explicitly create a collection
gold_member_conllection = database.create_collection("gold_member")Insert data
document = {"name": "ff", "age": 30, "email": "ff11@ctyun.com"}
gold_member_conllection.insert_one(document)Delete data
result = collection.delete_one({'name': 'ff'})Delete collection
database.drop_collection("test")Read data
query = {"name": "ff"}
result = collection.find_one(query)
print(result)Run command
database.command("collstats","test")
database.command("buildinfo")Count
count = gold_member_conllection.find().count()
Ranking
results = gold_member_conllection.find().sort('name',1)Create Index
result=database[gold_member_conllection].create_index([('name',1)])Example of Python-based development
from pymongo import MongoClient
# Specify the connection URI of database
uri = "mongodb://username:password@hostname:port/database_name?authSource=admin"
# Create client
client = MongoClient(uri)
# Get database instance
database = client["testdb"]
# Get collection instance
collection = database["testcollection"]
# Create collection
gold_member_conllection = database.create_collection("gold_member")
# Insert document
document = {"name": "ff", "age": 30, "email": "ff11@ctyun.com"}
gold_member_conllection.insert_one(document)
# Delete data
result = collection.delete_one({'name': 'ff'})
# Delete collection
database.drop_collection("test")
# Query document
query = {"name": "ff"}
result = collection.find_one(query)
print(result)
# Run command
database.command("collstats","test")
database.command("buildinfo")
# Count
count = gold_member_conllection.find().count()
# Sort
results = gold_member_conllection.find().sort('name', pymongo.ASCENDING)
# Create index
result=database[gold_member_conllection].create_index([('name',1)])
# Close connection
client.close()