89 lines
2.7 KiB
Python
89 lines
2.7 KiB
Python
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_DATA_IN_COMPANY(param1, param2):
|
||
"""
|
||
从企业数据库中查询数据
|
||
Parameters:
|
||
param1 str 数据表
|
||
param2 dict 查询条件
|
||
Returns:
|
||
record: 查询结果
|
||
"""
|
||
collection = CLIENT['企业'][param1]
|
||
data = collection.find(param2, {'_id': False})
|
||
record = list(data)
|
||
return record
|
||
|
||
|
||
def FIND_INDUSTRY_DATA_IN_RATING_INPUT(cid):
|
||
"""
|
||
从评价数据库中查询数据
|
||
Parameters:
|
||
cid str 企业ID
|
||
Returns:
|
||
record: 查询结果
|
||
"""
|
||
collection = CLIENT['评价']['综合评价填报']
|
||
data = collection.find({"企业ID": cid}, {'_id': False, "行业选择": 1, "评价年度": 1})
|
||
record = list(data)
|
||
return record
|
||
|
||
|
||
def FIND_DATA_IN_MACRO_INDUSTRY_ANALYSIS(industry):
|
||
"""
|
||
从宏观行业分析数据库中查询行业宏观分析信息
|
||
Parameters:
|
||
industry: str 行业
|
||
Returns:
|
||
record: 查询结果
|
||
"""
|
||
collection = CLIENT['宏观']['行业宏观分析']
|
||
data = collection.find({"行业": industry}, {'_id': False})
|
||
record = list(data)
|
||
if record:
|
||
return record[0]
|
||
else:
|
||
return False
|
||
|
||
|
||
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]
|