import os from pymongo import MongoClient import json # 连接到 MongoDB client = MongoClient('mongodb://root:lostecho@192.168.31.3:27017/') # 选择数据库 db = client['songyi'] # 选择集合 collection = db['course_content'] def insert_course_content(file_path): file_name = os.path.basename(file_path) course_id = file_name print(course_id) try: with open(file_path, 'r', encoding='utf-8-sig') as file: data = json.load(file) if isinstance(data, list): for i, document in enumerate(data): document["_id"] = course_id else: data["_id"] = course_id if isinstance(data, list): collection.insert_many(data) else: collection.insert_one(data) except FileNotFoundError: print(f"错误:文件 {file_path} 未找到。") except Exception as e: print(f"错误:处理文件 {file_path} 时出现未知错误:{e}") def get_course_content(id_to_query): try: # 根据 _id 查询单个文档 document = collection.find_one({"_id": id_to_query}) if document: # 移除 _id 字段中的 ObjectId 对象,因为它不能直接被 JSON 序列化 document.pop("_id", None) # 将查询结果转换为 JSON 字符串 json_str = json.dumps(document) # 使用 json.loads 加载 JSON 字符串 loaded_data = json.loads(json_str) print("加载后的数据:" + loaded_data) return json_str else: print(f"未找到 _id 为 {id_to_query} 的文档。") except Exception as e: print(f"错误:查询或处理数据时出现未知错误:{e}")