m-cloud API Documentation - v1.0.1-beta.5
    Preparing search index...

    Class DatabaseOperations

    数据库操作类 提供常用的数据库操作方法,支持查询、添加、更新、删除、聚合等操作 集成了查询缓存、敏感字段加密/解密、时间戳管理等功能

    文档数据类型,默认为 Record<string, unknown>

    // 查询文档
    const users = await DatabaseOperations.find('users', ctx, { status: 'active' }, {
    limit: 10,
    orderBy: { field: 'createTime', direction: 'desc' }
    })

    // 添加文档
    const result = await DatabaseOperations.add('users', ctx, { name: 'John', age: 30 })

    // 更新文档
    await DatabaseOperations.update('users', ctx, { _id: 'xxx' }, { age: 31 })

    // 分页查询
    const pageData = await DatabaseOperations.paginate('users', ctx, {}, 1, 10)
    Index

    Constructors

    Methods

    • 清空缓存 删除所有缓存条目

      Returns void

      DatabaseOperations.clearCache()
      
    • 获取缓存统计信息 返回缓存的大小和TTL配置

      Returns { size: number; ttl: number }

      缓存统计信息

      const stats = DatabaseOperations.getCacheStats()
      console.log(stats.size) // 当前缓存条目数
      console.log(stats.ttl) // 缓存TTL(毫秒)
    • 为文档添加时间戳字段 自动添加 createTime 和 updateTime 字段

      Type Parameters

      • T extends Record<string, unknown>

        文档数据类型

      Parameters

      • data: T

        文档数据

      • OptionalisUpdate: boolean = false

        是否为更新操作

      Returns T & { createTime?: number; updateTime?: number }

      添加了时间戳的文档数据

      const userData = { name: 'John', age: 30 }
      const newData = DatabaseOperations.addTimestamps(userData)
      // { name: 'John', age: 30, createTime: 1234567890, updateTime: 1234567890 }

      const updatedData = DatabaseOperations.addTimestamps({ age: 31 }, true)
      // { age: 31, updateTime: 1234567891 }
    • 获取集合引用

      Parameters

      • collectionName: string

        集合名称

      • ctx: DatabaseContext

        上下文对象

      Returns CollectionReference

      集合引用

    • 查询文档 - 支持 MongoDB 查询语法和缓存

      Type Parameters

      • T extends Record<string, unknown> = Record<string, unknown>

        文档类型

      Parameters

      • collectionName: string

        集合名称

      • ctx: DatabaseContext

        上下文对象

      • Optionalquery: Record<string, unknown>

        查询条件,支持 MongoDB 查询语法(如 $gt, $lt, $in, $regex 等)

      • Optionaloptions: DatabaseQueryOptions

        查询选项

        • limit

          限制返回数量

        • offset

          偏移量

        • orderBy

          排序选项

        • orderBy.field

          排序字段

        • orderBy.direction

          排序方向

        • projection

          投影选项

        • cache

          是否启用缓存

      Returns Promise<T[]>

      查询结果

    • 根据ID获取单个文档

      Type Parameters

      • T extends Record<string, unknown> = Record<string, unknown>

        文档类型

      Parameters

      • collectionName: string

        集合名称

      • ctx: DatabaseContext

        上下文对象

      • id: string

        文档ID

      Returns Promise<T | null>

      文档数据

    • 添加文档

      Type Parameters

      • T extends Record<string, unknown> = Record<string, unknown>

        文档类型

      Parameters

      • collectionName: string

        集合名称

      • ctx: DatabaseContext

        上下文对象

      • data: Partial<T>

        文档数据

      Returns Promise<{ id: string; ids?: string[] }>

      添加结果

    • 批量添加文档

      Type Parameters

      • T extends Record<string, unknown> = Record<string, unknown>

        文档类型

      Parameters

      • collectionName: string

        集合名称

      • ctx: DatabaseContext

        上下文对象

      • dataList: Partial<T>[]

        文档数据列表

      • batchSize: number = 100

        批量操作大小,默认 100

      Returns Promise<{ id: string; ids?: string[] }[]>

      批量添加结果

    • 批量更新文档

      Type Parameters

      • T extends Record<string, unknown> = Record<string, unknown>

        文档类型

      Parameters

      • collectionName: string

        集合名称

      • ctx: DatabaseContext

        上下文对象

      • updates: { query: Record<string, unknown>; updateData: Partial<T> }[]

        更新操作列表

      Returns Promise<{ updated: number }[]>

      批量更新结果

    • 更新文档

      Type Parameters

      • T extends Record<string, unknown> = Record<string, unknown>

        文档类型

      Parameters

      • collectionName: string

        集合名称

      • ctx: DatabaseContext

        上下文对象

      • query: Record<string, unknown>

        查询条件,支持 MongoDB 查询语法

      • updateData: Partial<T>

        更新数据

      Returns Promise<{ updated: number }>

      更新结果

    • 根据ID更新文档

      Type Parameters

      • T extends Record<string, unknown> = Record<string, unknown>

        文档类型

      Parameters

      • collectionName: string

        集合名称

      • ctx: DatabaseContext

        上下文对象

      • id: string

        文档ID

      • updateData: Partial<T>

        更新数据

      Returns Promise<{ updated: number }>

      更新结果

    • 批量删除文档

      Parameters

      • collectionName: string

        集合名称

      • ctx: DatabaseContext

        上下文对象

      • queries: Record<string, unknown>[]

        删除条件列表

      Returns Promise<{ deleted: number }[]>

      批量删除结果

    • 删除文档 - 支持 MongoDB 查询语法

      Parameters

      • collectionName: string

        集合名称

      • ctx: DatabaseContext

        上下文对象

      • query: Record<string, unknown>

        查询条件,支持 MongoDB 查询语法

      Returns Promise<{ deleted: number }>

      删除结果

    • 根据ID删除文档

      Parameters

      • collectionName: string

        集合名称

      • ctx: DatabaseContext

        上下文对象

      • id: string

        文档ID

      Returns Promise<{ deleted: number }>

      删除结果

    • 统计文档数量 - 支持 MongoDB 查询语法

      Parameters

      • collectionName: string

        集合名称

      • ctx: DatabaseContext

        上下文对象

      • Optionalquery: Record<string, unknown>

        查询条件,支持 MongoDB 查询语法

      Returns Promise<number>

      统计结果

    • 查询单个文档 - 支持 MongoDB 查询语法

      Type Parameters

      • T extends Record<string, unknown> = Record<string, unknown>

        文档类型

      Parameters

      • collectionName: string

        集合名称

      • ctx: DatabaseContext

        上下文对象

      • Optionalquery: string | Record<string, unknown>

        查询条件,支持 MongoDB 查询语法

      Returns Promise<T | null>

      单个文档数据

    • 获取聚合引用

      Parameters

      • collectionName: string

        集合名称

      • ctx: DatabaseContext

        上下文对象

      Returns Aggregation

      聚合引用

    • 分页查询 - 支持 MongoDB 查询语法

      Type Parameters

      • T extends Record<string, unknown> = Record<string, unknown>

        文档类型

      Parameters

      • collectionName: string

        集合名称

      • ctx: DatabaseContext

        上下文对象

      • Optionalquery: Record<string, unknown>

        查询条件,支持 MongoDB 查询语法

      • page: number = 1

        页码(从1开始)

      • pageSize: number = 10

        每页大小

      • Optionaloptions: PaginateOptions

        查询选项

        • orderBy

          排序选项

        • orderBy.field

          排序字段

        • orderBy.direction

          排序方向

        • projection

          投影选项

      Returns Promise<PaginatedResult<T>>

      分页结果

    • 复杂查询 - 支持 MongoDB 聚合管道查询

      Type Parameters

      • T extends Record<string, unknown> = Record<string, unknown>

        文档类型

      Parameters

      • collectionName: string

        集合名称

      • ctx: DatabaseContext

        上下文对象

      • pipeline: AggregationPipelineStage[]

        聚合管道操作数组

      Returns Promise<T[]>

      聚合查询结果

    • 更灵活的查询方法 - 支持更多 MongoDB 操作符

      Type Parameters

      • T extends Record<string, unknown> = Record<string, unknown>

        文档类型

      Parameters

      • collectionName: string

        集合名称

      • ctx: DatabaseContext

        上下文对象

      • Optionalquery: Record<string, unknown>

        查询条件,完全支持 MongoDB 查询语法

      • Optionalmodifiers: QueryModifiers

        额外的查询修饰符,如 sort, skip, limit 等

        • sort

          排序选项

        • skip

          跳过数量

        • limit

          限制数量

        • projection

          投影选项

      Returns Promise<T[]>

      查询结果