tfse-etl-api-v0.2/CompanyData/db.py

102 lines
3.4 KiB
Python
Raw Permalink Normal View History

2021-12-09 17:17:17 +08:00
import pymongo
client_tfse = pymongo.MongoClient('mongodb://{}:{}@{}:{}'.format('root', 'sromitdTW569kC#M', '116.63.130.34', 27018))
client_tyc = pymongo.MongoClient('mongodb://{}:{}@{}:{}'.format('root', 'gP%40DwMSVd5Sh6EiH', '116.63.130.34', 27019))
2022-03-10 10:55:38 +08:00
client_admin = pymongo.MongoClient('mongodb://{}:{}@{}:{}'.format('root', 'RYIHrqml#LSW6#!*', '116.63.130.34', 27020))
client_tfse_021 = pymongo.MongoClient('mongodb://{}:{}@{}:{}'.format('root', 'UTlC9cCoglD1cI1*', '116.63.130.34', 27021))
2021-12-09 17:17:17 +08:00
2022-03-24 16:10:45 +08:00
def FIND_DATA_IN_TYC(param1, param2, param3):
2021-12-09 17:17:17 +08:00
"""
根据企业ID查询企业信息
Parameters:
param1: string 数据库 db
param2: string 数据集 collection
param3: dict 查询条件 例如 {"企业名称": "xxx有限公司"}
Returns:
record: 查询结果
"""
collection = client_tyc[param1][param2]
data = collection.find(param3, {'_id': False})
record = list(data)
return record
2022-03-24 16:10:45 +08:00
def FIND_SINGLE_COLUMN_BY_REQ(param1, param2, param3, param4):
2021-12-16 17:46:30 +08:00
"""
2022-03-24 16:10:45 +08:00
查询符合条件的第一条数据的某个制定字段值
2021-12-09 17:17:17 +08:00
Parameters:
2022-03-24 16:10:45 +08:00
param1: str 数据库
param2: str 数据表
param3: dict 查询条件
param4: str 一个指定查询字段
2021-12-09 17:17:17 +08:00
Returns:
2022-03-24 16:10:45 +08:00
record: 查询结果为空返回None; 查询结果正常返回查询结果的第一条数据;
2021-12-10 16:12:57 +08:00
"""
2022-03-24 16:10:45 +08:00
collection = client_tfse_021[param1][param2]
column = {**{'_id': False}, **{param4: 1}}
record = list(collection.find(param3, column))
return None if record == [] else record[0][param4]
2021-12-10 16:12:57 +08:00
2021-12-24 16:38:39 +08:00
2022-03-24 16:10:45 +08:00
def FIND_SINGLE_DATA_BY_REQ(param1, param2, param3, param4):
2021-12-24 16:38:39 +08:00
"""
2022-03-24 16:10:45 +08:00
查询符合条件的第一条数据
2021-12-24 16:38:39 +08:00
Parameters:
2022-03-24 16:10:45 +08:00
param1: str 数据库
param2: str 数据表
param3: dict 查询条件
param4: list 查询字段
2021-12-24 16:38:39 +08:00
Returns:
2022-03-24 16:10:45 +08:00
record: 查询结果为空返回False; 查询结果正常返回查询结果的第一条数据;
2021-12-24 16:38:39 +08:00
"""
2022-03-24 16:10:45 +08:00
collection = client_tfse_021[param1][param2]
columns = {**{'_id': False}, **dict(zip(param4, [1] * len(param4)))}
record = list(collection.find(param3, columns))
return False if record == [] else record[0]
2021-12-24 16:38:39 +08:00
2022-03-10 10:55:38 +08:00
2022-03-24 16:10:45 +08:00
def FIND_ALL_DATA_BY_REQ(param1, param2, param3, param4):
2022-03-10 10:55:38 +08:00
"""
2022-03-24 16:10:45 +08:00
查询符合条件的所有数据
2022-03-10 10:55:38 +08:00
Parameters:
2022-03-24 16:10:45 +08:00
param1: str 数据库
param2: str 数据表
param3: dict 查询条件
param4: list 查询字段
2022-03-10 10:55:38 +08:00
Returns:
2022-03-24 16:10:45 +08:00
record: list 查询结果
2022-03-10 10:55:38 +08:00
"""
2022-03-24 16:10:45 +08:00
collection = client_tfse_021[param1][param2]
columns = {**{'_id': False}, **dict(zip(param4, [1] * len(param4)))}
record = list(collection.find(param3, columns))
return record
2022-03-10 10:55:38 +08:00
def UPSERT_SINGLE_DATA(param1, param2, param3, param4):
"""
插入单条数据
Parameters:
param1: str 数据库
param2: str 数据表
param3: dict 查询条件
param4: dict 更新或新插入的数据
"""
collection = client_tfse_021[param1][param2]
collection.update_one(param3, {"$set": param4}, upsert=True)
2022-03-22 15:16:48 +08:00
def UPDATE_SINGLE_DATA(param1, param2, param3, param4):
"""
插入单条数据
Parameters:
param1: str 数据库
param2: str 数据表
param3: dict 查询条件
param4: dict 更新或新插入的数据
"""
collection = client_tfse_021[param1][param2]
res = collection.update_one(param3, {"$set": param4})
info = res.raw_result['updatedExisting']
return info