feat: update doc
This commit is contained in:
		
							parent
							
								
									a2d3e64a89
								
							
						
					
					
						commit
						ff4d432c9f
					
				@ -130,9 +130,9 @@ describe('mock server', () => {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
## Full-stack demo
 | 
					## Full-stack demo
 | 
				
			||||||
 | 
					
 | 
				
			||||||
http://localhost:8001/develop
 | 
					http://localhost:8000/develop
 | 
				
			||||||
 | 
					
 | 
				
			||||||
为了方便开发者本地调试,全栈的演示也内嵌的 Demo,可以点击左下角新标签页内全屏打开。
 | 
					为了方便开发者本地调试,全栈的演示也是内嵌的 Demo,可以点击左下角新标签页内全屏打开。
 | 
				
			||||||
 | 
					
 | 
				
			||||||
## Client components
 | 
					## Client components
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -148,5 +148,5 @@ http://localhost:8001/develop
 | 
				
			|||||||
示例还在整理中...
 | 
					示例还在整理中...
 | 
				
			||||||
</Alert>
 | 
					</Alert>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
示例查看 http://localhost:8001/examples
 | 
					示例查看 http://localhost:8000/examples
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -130,9 +130,9 @@ describe('mock server', () => {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
## 全栈演示
 | 
					## 全栈演示
 | 
				
			||||||
 | 
					
 | 
				
			||||||
http://localhost:8001/develop
 | 
					http://localhost:8000/develop
 | 
				
			||||||
 | 
					
 | 
				
			||||||
为了方便开发者本地调试,全栈的演示也内嵌的 Demo,可以点击左下角新标签页内全屏打开。
 | 
					为了方便开发者本地调试,全栈的演示也是内嵌的 Demo,可以点击左下角新标签页内全屏打开。
 | 
				
			||||||
 | 
					
 | 
				
			||||||
## 客户端组件
 | 
					## 客户端组件
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -148,5 +148,5 @@ http://localhost:8001/develop
 | 
				
			|||||||
示例还在整理中...
 | 
					示例还在整理中...
 | 
				
			||||||
</Alert>
 | 
					</Alert>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
示例查看 http://localhost:8001/examples
 | 
					示例查看 http://localhost:8000/examples
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -12,7 +12,7 @@ toc: menu
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
```ts
 | 
					```ts
 | 
				
			||||||
interface findMany<M extends Sequelize.Model> {
 | 
					interface findMany<M extends Sequelize.Model> {
 | 
				
			||||||
  (options: FindManyOptions): Promise<M[]>
 | 
					  (options?: FindManyOptions): Promise<M[]>
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
interface FindManyOptions extends Sequelize.FindOptions {
 | 
					interface FindManyOptions extends Sequelize.FindOptions {
 | 
				
			||||||
@ -37,7 +37,7 @@ type FilterOptions = any;
 | 
				
			|||||||
###### 全览
 | 
					###### 全览
 | 
				
			||||||
 | 
					
 | 
				
			||||||
```ts
 | 
					```ts
 | 
				
			||||||
repository.findMany({
 | 
					await repository.findMany({
 | 
				
			||||||
  // 过滤
 | 
					  // 过滤
 | 
				
			||||||
  filter: {
 | 
					  filter: {
 | 
				
			||||||
    $and: [{ a: 5 }, { b: 6 }],            // (a = 5) AND (b = 6)
 | 
					    $and: [{ a: 5 }, { b: 6 }],            // (a = 5) AND (b = 6)
 | 
				
			||||||
@ -281,7 +281,7 @@ await Post.repository.findMany({
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
```ts
 | 
					```ts
 | 
				
			||||||
interface paginate<M extends Sequelize.Model> {
 | 
					interface paginate<M extends Sequelize.Model> {
 | 
				
			||||||
  (options: PaginateOptions): Promise<[ M[], number ]>
 | 
					  (options?: PaginateOptions): Promise<[ M[], number ]>
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
interface PaginateOptions extends Sequelize.FindAndCountOptions {
 | 
					interface PaginateOptions extends Sequelize.FindAndCountOptions {
 | 
				
			||||||
@ -309,19 +309,29 @@ interface PaginateOptions extends Sequelize.FindAndCountOptions {
 | 
				
			|||||||
不填写参数时,默认 page=1,pageSize=20。
 | 
					不填写参数时,默认 page=1,pageSize=20。
 | 
				
			||||||
 | 
					
 | 
				
			||||||
```ts
 | 
					```ts
 | 
				
			||||||
repository.paginate();
 | 
					await repository.paginate();
 | 
				
			||||||
// [[{ id, name, content, createdAt, updatedAt }], 50]
 | 
					// [[{ id, name, content, createdAt, updatedAt }], 50]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
const [models, count] = await repository.paginate();
 | 
					const [models, count] = await repository.paginate();
 | 
				
			||||||
```
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					指定页码和单页最大数量
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					```ts
 | 
				
			||||||
 | 
					await repository.paginate({
 | 
				
			||||||
 | 
					  page: 1,
 | 
				
			||||||
 | 
					  pageSize: 50,
 | 
				
			||||||
 | 
					});
 | 
				
			||||||
 | 
					// [[{ id, name, content, createdAt, updatedAt }], 50]
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
## `repository.findOne()`
 | 
					## `repository.findOne()`
 | 
				
			||||||
 | 
					
 | 
				
			||||||
##### Definition
 | 
					##### Definition
 | 
				
			||||||
 | 
					
 | 
				
			||||||
```ts
 | 
					```ts
 | 
				
			||||||
interface findOne<M extends Sequelize.Model> {
 | 
					interface findOne<M extends Sequelize.Model> {
 | 
				
			||||||
  (options: FindOneOptions): Promise<[ M[], number ]>
 | 
					  (options?: FindOneOptions): Promise<[ M[], number ]>
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
interface FindOneOptions extends FindManyOptions {
 | 
					interface FindOneOptions extends FindManyOptions {
 | 
				
			||||||
@ -355,6 +365,123 @@ await repository.findOne({
 | 
				
			|||||||
```
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
## repository.create()
 | 
					## repository.create()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					创建数据
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					##### Definition
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					```ts
 | 
				
			||||||
 | 
					interface create<M extends Sequelize.Model> {
 | 
				
			||||||
 | 
					  (options?: CreateOptions): Promise<M>
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					interface CreateOptions {
 | 
				
			||||||
 | 
					  // 数据
 | 
				
			||||||
 | 
					  values?: any;
 | 
				
			||||||
 | 
					  // 字段白名单
 | 
				
			||||||
 | 
					  whitelist?: string[];
 | 
				
			||||||
 | 
					  // 字段黑名单
 | 
				
			||||||
 | 
					  blacklist?: string[];
 | 
				
			||||||
 | 
					  // 关系数据默认会新建并建立关联处理,如果是已存在的数据只关联,但不更新关系数据
 | 
				
			||||||
 | 
					  // 如果需要更新关联数据,可以通过 updateAssociations 指定
 | 
				
			||||||
 | 
					  updateAssociations?: string[];
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					##### Examples
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					例子之前,先定义几个 Collection 吧
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					```ts
 | 
				
			||||||
 | 
					db.collection({
 | 
				
			||||||
 | 
					  name: 'users',
 | 
				
			||||||
 | 
					  fields: [
 | 
				
			||||||
 | 
					    {name: 'name', type: 'string'},
 | 
				
			||||||
 | 
					  ],
 | 
				
			||||||
 | 
					});
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					db.collection({
 | 
				
			||||||
 | 
					  name: 'posts',
 | 
				
			||||||
 | 
					  fields: [
 | 
				
			||||||
 | 
					    { type: 'string', name: 'name' },
 | 
				
			||||||
 | 
					    { type: 'belongsTo', name: 'user' },
 | 
				
			||||||
 | 
					    { type: 'belongsToMany', name: 'tags' },
 | 
				
			||||||
 | 
					    { type: 'hasMany', name: 'comments' },
 | 
				
			||||||
 | 
					  ],
 | 
				
			||||||
 | 
					});
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					db.collection({
 | 
				
			||||||
 | 
					  name: 'tags',
 | 
				
			||||||
 | 
					  fields: [
 | 
				
			||||||
 | 
					    { type: 'string', name: 'name' },
 | 
				
			||||||
 | 
					    { type: 'belongsToMany', name: 'posts' },
 | 
				
			||||||
 | 
					  ],
 | 
				
			||||||
 | 
					});
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					db.collection({
 | 
				
			||||||
 | 
					  name: 'comments',
 | 
				
			||||||
 | 
					  fields: [
 | 
				
			||||||
 | 
					    { type: 'string', name: 'name' },
 | 
				
			||||||
 | 
					  ],
 | 
				
			||||||
 | 
					});
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					新建数据,可以不指定 values。
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					```ts
 | 
				
			||||||
 | 
					const model = await repository.create();
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					values 必须是 Object。
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					```ts
 | 
				
			||||||
 | 
					await repository.create({
 | 
				
			||||||
 | 
					  values: {
 | 
				
			||||||
 | 
					    name: 'post1',
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
 | 
					});
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					values 可以包含关系数据
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					```ts
 | 
				
			||||||
 | 
					await repository.create({
 | 
				
			||||||
 | 
					  values: {
 | 
				
			||||||
 | 
					    name: 'post1',
 | 
				
			||||||
 | 
					    // 新建并关联
 | 
				
			||||||
 | 
					    tags: [{ name: 'tag1' }],
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
 | 
					});
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					关联字段,可以只提供关系约束值(一般是 id)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					```ts
 | 
				
			||||||
 | 
					await repository.create({
 | 
				
			||||||
 | 
					  values: {
 | 
				
			||||||
 | 
					    name: 'post1',
 | 
				
			||||||
 | 
					    // 关联 id=1 的 tag
 | 
				
			||||||
 | 
					    tags: [1],
 | 
				
			||||||
 | 
					    // 也可以这样,会自动识别
 | 
				
			||||||
 | 
					    tags: 1,
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
 | 
					});
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					可以设置 values 的白名单和黑名单
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					```ts
 | 
				
			||||||
 | 
					await repository.create({
 | 
				
			||||||
 | 
					  values: {
 | 
				
			||||||
 | 
					    name: 'post1',
 | 
				
			||||||
 | 
					    // 关联 id=1 的 tag
 | 
				
			||||||
 | 
					    tags: [1],
 | 
				
			||||||
 | 
					  },
 | 
				
			||||||
 | 
					  whitelist: ['name'],
 | 
				
			||||||
 | 
					});
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
## repository.update()
 | 
					## repository.update()
 | 
				
			||||||
## repository.destroy()
 | 
					## repository.destroy()
 | 
				
			||||||
## repository.relation().of()
 | 
					## repository.relation().of()
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
		Reference in New Issue
	
	Block a user