MST

星途 面试题库

面试题:Python中如何配置简单的MongoDB数据库连接池

在Python中,使用`pymongo`库结合`DBUtils`库来配置MongoDB数据库连接池,请简述实现步骤并给出关键代码示例。
30.4万 热度难度
编程语言Python

知识考点

AI 面试

面试题答案

一键面试
  1. 安装库
    • 确保pymongoDBUtils已安装。如果没有安装,可以使用pip install pymongo DBUtils进行安装。
  2. 实现步骤
    • 导入必要的模块。
    • 创建一个函数来获取MongoDB连接。
    • 使用DBUtilsPooledDB来创建连接池。
  3. 关键代码示例
from dbutils.pooled_db import PooledDB
from pymongo import MongoClient


def get_mongo_connection():
    # 创建MongoDB连接池
    pool = PooledDB(
        creator=MongoClient,
        host='localhost',
        port=27017,
        maxconnections=10,
        blocking=True
    )
    # 从连接池获取一个连接
    connection = pool.connection()
    return connection


# 使用连接
mongo_conn = get_mongo_connection()
db = mongo_conn['your_database']
collection = db['your_collection']
data = collection.find_one()
print(data)
# 归还连接到连接池
mongo_conn.close()

上述代码中:

  • PooledDBcreator参数指定使用MongoClient来创建连接。
  • hostport指定MongoDB服务器的地址和端口。
  • maxconnections设置最大连接数。
  • blocking设置为True,表示当连接池满时,请求连接的操作会阻塞直到有连接可用。