mongodb ?

sssaaaa

阅读 1.6k
1 个回答
from pymongo import MongoClient

def filter_mongo_data(json_data, db_name, collection_name):
    print('进入数据库')
    client = MongoClient()
    session = client.start_session()  # 创建新的会话
    session.start_transaction()  # 开始事务

    try:
        cursor_result = client[db_name][collection_name].find(
            {"stratagy_id": json_data['stratagy_id'], "app_name": json_data['app_name']}, session=session)
        if (len(list(cursor_result)) < 5) and json_data['over_flow_price']:
            print("插入中....")
            json_data.update({"expireAt": datetime.now()})
            client[db_name][collection_name].insert_one(json_data, session=session)  # 在会话中执行插入操作
            http_request_queue(bargain_info)  # 在会话中执行http请求
            session.commit_transaction()  # 提交事务
            return True
        else:
            print(json_data)
            print('此策略id今天已经插满 请明天插入')
            session.abort_transaction()  # 回滚事务
            return None
    except Exception as e:
        print("出现错误,回滚事务", e)
        session.abort_transaction()  # 回滚事务
    finally:
        session.end_session()  # 结束会话
        client.close()  # 关闭连接
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进