import pymongo DB_CLI = 'mongodb://{}:{}@{}:{}' DB_SETTING = { "TFSE": {"user": "root", "pass": "sromitdTW569kC#M", "host": "116.63.130.34", "port": "27018"}, "ADMIN": {"user": "root", "pass": "RYIHrqml#LSW6#!*", "host": "116.63.130.34", "port": "27020"} } def FIND_DATA_COUNT(param1, param2, param3, param4): """ 根据查询条件查询符合条件的所有数据 Parameters: param1: str 服务器 param2: str 数据库 param3: obj 数据集 param4: obj 查询条件 Returns: num: list 符合条件的数量 """ db = DB_SETTING[param1] client = pymongo.MongoClient(DB_CLI.format(db['user'], db['pass'], db['host'], db['port'])) collection = client[param2][param3] num = collection.find(param4).count() client.close() return num def FIND_DATA(param1, param2, param3, param4): """ 根据查询条件查询符合条件的所有数据 Parameters: param1: str 服务器 param2: str 数据库 param3: obj 数据集 param4: obj 查询条件 Returns: records: list 符合条件的数据 """ db = DB_SETTING[param1] client = pymongo.MongoClient(DB_CLI.format(db['user'], db['pass'], db['host'], db['port'])) collection = client[param2][param3] records = list(collection.find(param4, {'_id': False})) client.close() return records def FIND_DATA_FILTER(param1, param2, param3, param4, param5): """ 根据查询条件查询符合条件的所有数据 Parameters: param1: str 服务器 param2: str 数据库 param3: obj 数据集 param4: obj 查询条件 param5: obj 显示字段/不显示字段 Returns: records: list 符合条件的数据 """ db = DB_SETTING[param1] client = pymongo.MongoClient(DB_CLI.format(db['user'], db['pass'], db['host'], db['port'])) collection = client[param2][param3] records = list(collection.find(param4, {**{'_id': False}, **param5})) client.close() return records def FIND_DATA_FILTER_SORT_LIMIT(param1, param2, param3, param4, param5, param6, param7): """ 根据查询条件查询符合条件的所有数据 Parameters: param1: str 服务器 param2: str 数据库 param3: obj 数据集 param4: obj 查询条件 param5: obj 显示字段/不显示字段 param6: str 排序 param7: int 限制返回条数 Returns: records: list 符合条件的数据 """ db = DB_SETTING[param1] client = pymongo.MongoClient(DB_CLI.format(db['user'], db['pass'], db['host'], db['port'])) collection = client[param2][param3] records = list(collection.find(param4, {**{'_id': False}, **param5}).sort(param6).limit(param7)) client.close() return records def UPSERT_DATA(param1, param2, param3, param4, param5): """ 更新插入数据 Parameters: param1: str 服务器 param2: str 数据库 param3: obj 数据集 param4: obj 查询条件 param5: obj 插入数据 Returns: info: 更新结果 """ db = DB_SETTING[param1] client = pymongo.MongoClient(DB_CLI.format(db['user'], db['pass'], db['host'], db['port'])) collection = client[param2][param3] res = collection.update_one(param4, {"$set": param5}, upsert=True) info = res.raw_result['updatedExisting'] client.close() return info def INSERT_DATA(param1, param2, param3, param4): """ 插入一条数据 Parameters: param1: str 服务器 param2: str 数据库 param3: str 数据集 param4: obj 插入数据 Returns: True 执行成功 False 执行失败 """ db = DB_SETTING[param1] client = pymongo.MongoClient(DB_CLI.format(db['user'], db['pass'], db['host'], db['port'])) collection = client[param2][param3] collection.insert_one(param4) return True def INSERT_DATA_MANY(param1, param2, param3, param4): """ 插入多条数据 Parameters: param1: str 服务器 param2: str 数据库 param3: str 数据集 param4: obj 插入数据 Returns: True 执行成功 False 执行失败 """ db = DB_SETTING[param1] client = pymongo.MongoClient(DB_CLI.format(db['user'], db['pass'], db['host'], db['port'])) collection = client[param2][param3] collection.insert_many(param4) client.close() return True def REMOVE_COLLECTION(param1, param2, param3): """ 清空数据表里的数据 Parameters: param1: str 服务器 param2: str 数据库 param3: str 数据集 """ db = DB_SETTING[param1] client = pymongo.MongoClient(DB_CLI.format(db['user'], db['pass'], db['host'], db['port'])) collection = client[param2][param3] collection.remove() client.close() return True