tfse-app-api-v0.2/company/company_db.py

60 lines
2.1 KiB
Python
Raw Normal View History

2021-12-13 16:04:10 +08:00
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))
2021-12-13 16:04:10 +08:00
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]