import pymongo DB_HOST = "116.63.130.34" DB_PASS = "UTlC9cCoglD1cI1*" DB_USER = "root" DB_PORT = "27021" client = pymongo.MongoClient('mongodb://{}:{}@{}:{}'.format(DB_USER, DB_PASS, DB_HOST, DB_PORT)) def FIND_SINGLE_COLUMN_BY_REQ(param1, param2, param3, param4): """ 查询符合条件的第一条数据的某个制定字段值 Parameters: param1: str 数据库 param2: str 数据表 param3: dict 查询条件 param4: str 一个指定查询字段 Returns: record: 查询结果为空,返回None; 查询结果正常,返回查询结果的第一条数据; """ collection = client[param1][param2] column = {**{'_id': False}, **{param4: 1}} record = list(collection.find(param3, column)) return None if record == [] else record[0][param4] def FIND_SINGLE_DATA_BY_REQ(param1, param2, param3, param4): """ 查询符合条件的第一条数据 Parameters: param1: str 数据库 param2: str 数据表 param3: dict 查询条件 param4: list 查询字段 Returns: record: 查询结果为空,返回False; 查询结果正常,返回查询结果的第一条数据; """ collection = client[param1][param2] columns = {**{'_id': False}, **dict(zip(param4, [1] * len(param4)))} record = list(collection.find(param3, columns)) return False if record == [] else record[0] def FIND_ALL_DATA_BY_REQ(param1, param2, param3, param4): """ 查询符合条件的所有数据 Parameters: param1: str 数据库 param2: str 数据表 param3: dict 查询条件 param4: list 查询字段 Returns: record: list 查询结果 """ collection = client[param1][param2] columns = {**{'_id': False}, **dict(zip(param4, [1] * len(param4)))} record = list(collection.find(param3, columns)) return record def FIND_RATING_RECORDS(param): """ 查询评价记录 Parameters: param: 查询条件 Returns: record: 查询结果 """ collection = client['企业数据']['评价记录'] data = collection.find(param, {'_id': False}) record = list(data) return record def FIND_CC_RATING_PROCESS_DATA(param1, param2): """ 查询流程记录 Parameters: param1: 数据集名称 param2: 查询条件 Returns: record: 查询结果 """ collection = client['评价'][param1] data = collection.find(param2, {'_id': False}) record = list(data) return record def find_rating_inputs(param): """ 查询填报信息记录 Parameters: param: 查询条件 Returns: records: 查询结果 """ collection = client['评价']['综合评价填报'] data = collection.find(param, {'_id': False}) record = list(data) return record def INSERT_COMPREHENSIVE_INPUT_DATA(data): """ 插入一条新综合填报 Parameters: data: 新综合填报数据 Returns: - """ collection = client['评价']['综合评价填报'] collection.insert_one(data) def UPDATE_COMPREHENSIVE_CREDIT_INPUT_DATA(rid, data): """ 更新综合信用填报数据 Parameters: rid: 评价ID data: 综合填报数据 Returns: res: None """ collection = client['评价']['综合评价填报'] collection.update_one({"评价ID": rid}, {"$set": data}) def find_risk_data(rid): """ 查找评价所需的风险数据 """ collection = client['评价']['风险数据'] data = collection.find({"评价ID": rid}, {'_id': False}) record = list(data) return record def update_rating_records(find, data): """ 更新评价记录 Parameters: find 查询条件 data 更新数据 Returns: - """ collection = client['评价']['评价记录'] collection.update_one(find, {"$set": data}) def UPSERT_SINGLE_DATA(param1, param2, param3, param4): """ 插入单条数据 Parameters: param1: str 数据库 param2: str 数据表 param3: dict 查询条件 param4: dict 更新或新插入的数据 """ collection = client[param1][param2] collection.update_one(param3, {"$set": param4}, upsert=True) def UPDATE_SINGLE_DATA(param1, param2, param3, param4): """ 插入单条数据 Parameters: param1: str 数据库 param2: str 数据表 param3: dict 查询条件 param4: dict 更新或新插入的数据 """ collection = client[param1][param2] collection.update_one(param3, {"$set": param4})