2021-12-13 16:04:10 +08:00
|
|
|
|
import pymongo
|
|
|
|
|
|
2022-03-23 11:15:00 +08:00
|
|
|
|
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
|
|
|
|
|
|
|
|
|
|
2022-03-23 15:35:59 +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]
|
|
|
|
|
|
|
|
|
|
|
2022-03-23 11:15:00 +08:00
|
|
|
|
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]
|