MST

星途 面试题库

面试题:Python中使用MongoDB进行简单事务操作

在Python中,使用pymongo库,假设已有一个MongoDB数据库连接对象`client`,且数据库名为`test_db`,集合名为`test_collection`,请编写代码实现一个简单的事务操作:插入一条文档数据,然后查询刚刚插入的数据并返回。如果事务执行过程中出现错误,需回滚事务。
15.6万 热度难度
编程语言Python

知识考点

AI 面试

面试题答案

一键面试
from pymongo import MongoClient
from pymongo.errors import PyMongoError

# 假设已有一个MongoDB数据库连接对象client
client = MongoClient()

try:
    with client.start_session() as session:
        session.start_transaction()
        db = client['test_db']
        collection = db['test_collection']
        new_doc = {'name': 'example', 'value': 123}
        insert_result = collection.insert_one(new_doc, session=session)
        result = collection.find_one({'_id': insert_result.inserted_id}, session=session)
        session.commit_transaction()
        print(result)
except PyMongoError as e:
    print(f"事务执行过程中出现错误: {e}")
    if'session' in locals():
        session.abort_transaction()