hc-storage-toolkit-base-model
v0.0.2
Published
A base model for HC Storage System.
Readme
hc-storage-toolkit-base-model
功能特性
- 负责数据库的操作和归档: 提供强数据库操作(支持重试、使用队列执行),并提供归档任务。
安装
确保已安装 Node.js,然后向您的项目中添加 hc-storage-toolkit-base-model 包:
npm install hc-storage-toolkit-base-model使用方法
引入模块
const hcStorageAdapter = require('hc-storage-toolkit-base-model');
const { BaseModel } = hcStorageAdapter;or
import { BaseModel } from 'hc-storage-toolkit-base-model';初始化
通过传递一个包含必要配置的对象来实例化 BaseModel 类:
class MissionModel extends BaseModel {
/**
* 构造函数
* @param {string} mission
*/
constructor(collectionName) {
super(collectionName);
// 如果需要开启归档任务,需要调用此方法
this.loadRegularArchive();
}
}方法
loadRegularArchive()
如果需要开启归档任务,需要调用此方法
handleArchiveJobError(error, regularArchiveInstance)
可以覆写此方法,处理归档任务的错误
find(query, skips = 0, pageSize = 0, sort = { _id: -1 })
查询数据
findOne(query, options = {})
查询单个数据
findOneAndUpdate(query, doc, options = {})
查询单个数据并更新
findOneWithinManyAndUpdateOne(query, doc, options = {})
查询单个数据并更新第一个符合条件的
updateOne(query, doc, options = {})
更新单个数据
updateMany(query, doc, options = {})
更新多个数据
update(query, doc, options = {})
更新数据
findAll(query)
查询所有数据
aggregate(query)
聚合查询
count(query)
统计数据
create(doc, options = {})
创建数据
createMany(docs, options = {})
创建多个数据
remove(query, options = {})
删除数据
removeMany(query, options = {})
删除多个数据
removeAll()
删除整个集合
配置
在实例化时传递的配置对象支持以下属性:
- config: 归档过程的配置选项。
- archiveDays: 归档天数,默认 31 天,配置格式为 { mission: 31, dbLogger: 31 }
- archiveDataChunkSize: 归档数据块大小,默认 3000 条
- allowArchiveInRunningMode: 是否允许在运行模式下归档,默认 false
- archiveScheduleRule: 归档调度规则,CRON 表达式,默认每天凌晨1点10分整(01:10:00)执行
- archiveOptions: 特定于归档查询和参数的选项。
- handleArchiveJobError: 错误处理的回调函数。
archiveScheduleRule 说明
archiveScheduleRule 是定义归档任务调度规则的对象。此规则指定了任务执行的具体时间。
例如,如果你希望每天的凌晨 1 点执行归档任务,可以设置 archiveScheduleRule 如下:
0 0 1 * * ?开发
安装依赖
npm install构建项目
npm run build发布
npm publish贡献
欢迎提交 Issue 和 Pull Request 来贡献代码。
许可证
ISC
请确认是否需要进一步修改或补充信息。
