/** * 数据库适配器接口 */ import { DatabaseConfig } from '../interfaces/common'; /** * 数据库适配器接口,定义了与不同数据库交互的标准方法 */ export interface DatabaseAdapter { /** * 初始化数据库连接 * @param config 数据库配置 * @returns Promise */ initialize(config: DatabaseConfig): Promise; /** * 关闭数据库连接 * @returns Promise */ close(): Promise; /** * 创建一条记录 * @param collection 集合或表名 * @param data 要创建的数据 * @returns Promise 创建后的数据,包含ID */ create(collection: string, data: any): Promise; /** * 根据ID获取一条记录 * @param collection 集合或表名 * @param id 记录ID * @returns Promise 查询到的记录或null */ getById(collection: string, id: string): Promise; /** * 根据条件查询记录列表 * @param collection 集合或表名 * @param query 查询条件 * @param skip 跳过的记录数(用于分页) * @param limit 返回的最大记录数 * @param sort 排序条件 * @returns Promise<{data: T[], total: number}> 查询结果和总记录数 */ find(collection: string, query: any, skip?: number, limit?: number, sort?: any): Promise<{data: T[], total: number}>; /** * 更新一条记录 * @param collection 集合或表名 * @param id 记录ID * @param data 要更新的数据 * @returns Promise 更新后的记录或null */ update(collection: string, id: string, data: any): Promise; /** * 删除一条记录 * @param collection 集合或表名 * @param id 记录ID * @returns Promise 是否删除成功 */ delete(collection: string, id: string): Promise; /** * 批量创建记录 * @param collection 集合或表名 * @param dataList 要创建的数据列表 * @returns Promise 创建后的记录列表 */ bulkCreate(collection: string, dataList: any[]): Promise; }