@corelink/db
v0.4.1
Published
db
Downloads
2
Readme
Typeorm 相关工具
list
从数据库中列出数据
定义
/**
* 列出表数据
* @param repo Typeorm 的 Repository
* @param listOptions 列表配置
* @param paginate 分页配置(默认第1页,默示10条)
*/
export async function list<T>(
repo: Repository<T>,
listOptions: FindManyOptions<T> = {},
paginate: IPaginateOptions = { limit: 10, page: 1 },
): Promise<IListResult<T>>
export interface IPaginateOptions {
/**
* 每显示条数
*/
limit: number;
/**
* 显示的页数角标
*/
page: number;
}
export interface IPaginateResult extends IPaginateOptions {
/**
* 总页数
*/
pages: number;
/**
* 总条数
*/
total: number;
}
export interface IListResult<T> extends IPaginateResult {
/**
* 数据列表
*/
docs: T[];
}
使用方法
默认配置列出(不过滤,列出第1页,每页10条。)
import { list } from '@corelink/db';
const up = connection.getRepository(User);
const res = await list(up);
只列出男孩
import { list } from '@corelink/db';
const up = connection.getRepository(User);
const res = await list(up, { where: { gender: 1 } });
每页1条,列出第2页
import { list } from '@corelink/db';
const up = connection.getRepository(User);
const res = await list(up, {}, { limit: 1, page: 2 });
更多例子请参考__tests__
目录下的list-spec.ts
parseFunctions
将前端的特定参数转成FindOperator类型
定义
/**
*
* @param where 前端传进的where对象
* @param functionNames 需要生成的方法列表
*/
export function parseFunctions(where: any, ...functionNames: FUNCTION_NAME[]): any
使用方法
const where = { a: '$IsNull()$' };
parseFunctions(where, FUNCTION_NAME.IsNull);