Document Database Service

Python-based development

2025-07-28 07:46:15

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()


n8tKgKreANRC