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_SINGLE_DATA_BY_REQ_WITH_SORT(param1, param2, param3, param4, param5): """ 查询符合条件的第一条数据 Parameters: param1: str 数据库 param2: str 数据表 param3: dict 查询条件 param4: list 查询字段 param5: dict 排序条件 例如 {"name": 1} 表示按照name字段正序返回 Returns: record: 查询结果为空,返回False; 查询结果正常,返回查询结果的第一条数据; """ collection = CLIENT[param1][param2] columns = {**{'_id': False}, **dict(zip(param4, [1] * len(param4)))} record = list(collection.find(param3, columns).sort(list(param5.keys())[0], list(param5.values())[0]).limit(1)) return False if record == [] else record[0]