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

71 lines
2.3 KiB
Python
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

from urllib import parse
import pymongo
USER = parse.quote_plus('root')
PASSWORD_TFSE = parse.quote_plus('sromitdTW569kC#M')
PASSWORD_TYC = parse.quote_plus('gP@DwMSVd5Sh6EiH')
PASSWORD_TFSE_021 = parse.quote_plus('UTlC9cCoglD1cI1*')
client_tfse = pymongo.MongoClient('mongodb://{}:{}@{}:{}'.format(USER, PASSWORD_TFSE, '116.63.130.34', 27018))
client_tyc = pymongo.MongoClient('mongodb://{}:{}@{}:{}'.format(USER, PASSWORD_TYC, '116.63.130.34', 27019))
client_tfse_021 = pymongo.MongoClient('mongodb://{}:{}@{}:{}'.format(USER, PASSWORD_TFSE_021, '116.63.130.34', 27021))
def FIND_DATA_N_TYC(**kwargs):
"""
查询天眼查数据库记录
Parameters:
kwargs: 查询条件
Returns:
data: 天眼查数据
"""
collection = client_tyc[kwargs['db']][kwargs['col']]
result = collection.find(kwargs['query'], {'_id': False})
data = list(result)
return data
def FIND_SINGLE_DATA_BY_REQ(param1, param2, param3, param4):
"""
查询符合条件的第一条数据
Parameters:
param1: str 数据库
param2: str 数据表
param3: dict 查询条件
param4: list 查询字段
Returns:
record: 查询结果为空返回False; 查询结果正常,返回查询结果的第一条数据;
"""
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]
def FIND_ALL_DATA_BY_REQ(param1, param2, param3, param4):
"""
查询符合条件的所有数据
Parameters:
param1: str 数据库
param2: str 数据表
param3: dict 查询条件
param4: list 查询字段
Returns:
record: list 查询结果
"""
collection = client_tfse_021[param1][param2]
columns = {**{'_id': False}, **dict(zip(param4, [1] * len(param4)))}
record = list(collection.find(param3, columns))
return record
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)