Class: ServiceBase<Dato>
Abstract base class for services that use TypegooseQueryService.
Type parameters
| Name | Type | Description | 
|---|---|---|
Dato | extends Base | The Typegoose DAO (document) type. | 
Hierarchy
- 
TypegooseQueryService<Dato>↳
ServiceBase 
Table of contents
Constructors
Properties
Methods
- addRelations
 - aggregate
 - aggregateRelations
 - count
 - countRelations
 - createMany
 - createOne
 - deleteMany
 - deleteOne
 - findById
 - findRelation
 - getById
 - query
 - queryRelations
 - removeRelation
 - removeRelations
 - setRelation
 - setRelations
 - updateMany
 - updateOne
 
Constructors
constructor
• new ServiceBase<Dato>(model): ServiceBase<Dato>
Type parameters
| Name | Type | 
|---|---|
Dato | extends Base<ObjectId> | 
Parameters
| Name | Type | 
|---|---|
model | ReturnModelType<() => Dato> | 
Returns
ServiceBase<Dato>
Overrides
TypegooseQueryService<Dato>.constructor
Defined in
Properties
Model
• Readonly Model: ReturnModelType<() => Dato>
Inherited from
TypegooseQueryService.Model
Defined in
node_modules/@ptc-org/nestjs-query-typegoose/src/services/typegoose-query-service.d.ts:11
filterQueryBuilder
• Readonly filterQueryBuilder: FilterQueryBuilder<Dato>
Inherited from
TypegooseQueryService.filterQueryBuilder
Defined in
node_modules/@ptc-org/nestjs-query-typegoose/src/services/typegoose-query-service.d.ts:12
model
• Protected Readonly model: ReturnModelType<() => Dato>
Defined in
Methods
addRelations
▸ addRelations<Relation>(relationName, id, relationIds, opts?): Promise<DocumentType<Dato>>
Type parameters
| Name | 
|---|
Relation | 
Parameters
| Name | Type | 
|---|---|
relationName | string | 
id | string | 
relationIds | (string | number)[] | 
opts? | ModifyRelationOptions<Dato, Relation> | 
Returns
Promise<DocumentType<Dato>>
Inherited from
TypegooseQueryService.addRelations
Defined in
node_modules/@ptc-org/nestjs-query-typegoose/src/services/reference-query.service.d.ts:19
aggregate
▸ aggregate(filter, aggregateQuery): Promise<AggregateResponse<Dato>[]>
Parameters
| Name | Type | 
|---|---|
filter | Filter<Dato> | 
aggregateQuery | AggregateQuery<Dato> | 
Returns
Promise<AggregateResponse<Dato>[]>
Inherited from
TypegooseQueryService.aggregate
Defined in
node_modules/@ptc-org/nestjs-query-typegoose/src/services/typegoose-query-service.d.ts:28
aggregateRelations
▸ aggregateRelations<Relation>(RelationClass, relationName, entities, filter, aggregate): Promise<Map<DocumentType<Dato>, AggregateResponse<DocumentType<Relation>>[]>>
Type parameters
| Name | 
|---|
Relation | 
Parameters
| Name | Type | 
|---|---|
RelationClass | Class<Relation> | 
relationName | string | 
entities | DocumentType<Dato>[] | 
filter | Filter<Relation> | 
aggregate | AggregateQuery<Relation> | 
Returns
Promise<Map<DocumentType<Dato>, AggregateResponse<DocumentType<Relation>>[]>>
Inherited from
TypegooseQueryService.aggregateRelations
Defined in
node_modules/@ptc-org/nestjs-query-typegoose/src/services/reference-query.service.d.ts:11
▸ aggregateRelations<Relation>(RelationClass, relationName, dto, filter, aggregate): Promise<AggregateResponse<DocumentType<Relation>>[]>
Type parameters
| Name | 
|---|
Relation | 
Parameters
| Name | Type | 
|---|---|
RelationClass | Class<Relation> | 
relationName | string | 
dto | DocumentType<Dato> | 
filter | Filter<Relation> | 
aggregate | AggregateQuery<Relation> | 
Returns
Promise<AggregateResponse<DocumentType<Relation>>[]>
Inherited from
TypegooseQueryService.aggregateRelations
Defined in
node_modules/@ptc-org/nestjs-query-typegoose/src/services/reference-query.service.d.ts:12
count
▸ count(filter): Promise<number>
Parameters
| Name | Type | 
|---|---|
filter | Filter<Dato> | 
Returns
Promise<number>
Inherited from
TypegooseQueryService.count
Defined in
node_modules/@ptc-org/nestjs-query-typegoose/src/services/typegoose-query-service.d.ts:29
countRelations
▸ countRelations<Relation>(RelationClass, relationName, entities, filter): Promise<Map<DocumentType<Dato>, number>>
Type parameters
| Name | 
|---|
Relation | 
Parameters
| Name | Type | 
|---|---|
RelationClass | Class<Relation> | 
relationName | string | 
entities | DocumentType<Dato>[] | 
filter | Filter<Relation> | 
Returns
Promise<Map<DocumentType<Dato>, number>>
Inherited from
TypegooseQueryService.countRelations
Defined in
node_modules/@ptc-org/nestjs-query-typegoose/src/services/reference-query.service.d.ts:13
▸ countRelations<Relation>(RelationClass, relationName, dto, filter): Promise<number>
Type parameters
| Name | 
|---|
Relation | 
Parameters
| Name | Type | 
|---|---|
RelationClass | Class<Relation> | 
relationName | string | 
dto | DocumentType<Dato> | 
filter | Filter<Relation> | 
Returns
Promise<number>
Inherited from
TypegooseQueryService.countRelations
Defined in
node_modules/@ptc-org/nestjs-query-typegoose/src/services/reference-query.service.d.ts:14
createMany
▸ createMany(records): Promise<DocumentType<Dato>[]>
Create multiple entities.
Parameters
| Name | Type | Description | 
|---|---|---|
records | DeepPartial<Dato>[] | The entities to create. | 
Returns
Promise<DocumentType<Dato>[]>
Example
const todoItem = await this.service.createMany([
  {title: 'Todo Item 1', completed: false },
  {title: 'Todo Item 2', completed: true },
]);
Inherited from
TypegooseQueryService.createMany
Defined in
node_modules/@ptc-org/nestjs-query-typegoose/src/services/typegoose-query-service.d.ts:78
createOne
▸ createOne(record): Promise<DocumentType<Dato>>
Creates a single entity.
Parameters
| Name | Type | Description | 
|---|---|---|
record | DeepPartial<Dato> | The entity to create. | 
Returns
Promise<DocumentType<Dato>>
Example
const todoItem = await this.service.createOne({title: 'Todo Item', completed: false });
Inherited from
TypegooseQueryService.createOne
Defined in
node_modules/@ptc-org/nestjs-query-typegoose/src/services/typegoose-query-service.d.ts:65
deleteMany
▸ deleteMany(filter): Promise<DeleteManyResponse>
Delete multiple records with a @ptc-org/nestjs-query-core Filter.
Parameters
| Name | Type | Description | 
|---|---|---|
filter | Filter<Dato> | A Filter to find records to delete. | 
Returns
Promise<DeleteManyResponse>
Example
const { deletedCount } = this.service.deleteMany({
  created: { lte: new Date('2020-1-1') }
});
Inherited from
TypegooseQueryService.deleteMany
Defined in
node_modules/@ptc-org/nestjs-query-typegoose/src/services/typegoose-query-service.d.ts:131
deleteOne
▸ deleteOne(id, opts?): Promise<DocumentType<Dato>>
Delete an entity by id.
Parameters
| Name | Type | Description | 
|---|---|---|
id | string | The id of the entity to delete. | 
opts? | DeleteOneOptions<Dato> | Additional filter to use when finding the entity to delete. | 
Returns
Promise<DocumentType<Dato>>
Example
const deletedTodo = await this.service.deleteOne(1);
Inherited from
TypegooseQueryService.deleteOne
Defined in
node_modules/@ptc-org/nestjs-query-typegoose/src/services/typegoose-query-service.d.ts:117
findById
▸ findById(id, opts?): Promise<undefined | DocumentType<Dato>>
Find an entity by it's id.
Parameters
| Name | Type | Description | 
|---|---|---|
id | string | number | The id of the record to find. | 
opts? | FindByIdOptions<Dato> | Additional options | 
Returns
Promise<undefined | DocumentType<Dato>>
Example
const todoItem = await this.service.findById(1);
Inherited from
TypegooseQueryService.findById
Defined in
node_modules/@ptc-org/nestjs-query-typegoose/src/services/typegoose-query-service.d.ts:40
findRelation
▸ findRelation<Relation>(RelationClass, relationName, dtos, opts?): Promise<Map<Dato, undefined | Relation>>
Type parameters
| Name | 
|---|
Relation | 
Parameters
| Name | Type | 
|---|---|
RelationClass | Class<Relation> | 
relationName | string | 
dtos | DocumentType<Dato>[] | 
opts? | FindRelationOptions<Relation> | 
Returns
Promise<Map<Dato, undefined | Relation>>
Inherited from
TypegooseQueryService.findRelation
Defined in
node_modules/@ptc-org/nestjs-query-typegoose/src/services/reference-query.service.d.ts:15
▸ findRelation<Relation>(RelationClass, relationName, dto, opts?): Promise<undefined | DocumentType<Relation>>
Type parameters
| Name | 
|---|
Relation | 
Parameters
| Name | Type | 
|---|---|
RelationClass | Class<Relation> | 
relationName | string | 
dto | DocumentType<Dato> | 
opts? | FindRelationOptions<Relation> | 
Returns
Promise<undefined | DocumentType<Relation>>
Inherited from
TypegooseQueryService.findRelation
Defined in
node_modules/@ptc-org/nestjs-query-typegoose/src/services/reference-query.service.d.ts:16
getById
▸ getById(id, opts?): Promise<DocumentType<Dato>>
Gets an entity by it's id. If the entity is not found a rejected promise is returned.
Parameters
| Name | Type | Description | 
|---|---|---|
id | string | The id of the record to find. | 
opts? | GetByIdOptions<Dato> | Additional options | 
Returns
Promise<DocumentType<Dato>>
Example
try {
  const todoItem = await this.service.getById(1);
} catch(e) {
  console.error('Unable to find entity with id = 1');
}
Inherited from
TypegooseQueryService.getById
Defined in
node_modules/@ptc-org/nestjs-query-typegoose/src/services/typegoose-query-service.d.ts:55
query
▸ query(query): Promise<DocumentType<Dato>[]>
Query for multiple entities, using a Query from @ptc-org/nestjs-query-core.
Parameters
| Name | Type | Description | 
|---|---|---|
query | Query<Dato> | The Query used to filter, page, and sort rows. | 
Returns
Promise<DocumentType<Dato>[]>
Example
const todoItems = await this.service.query({
  filter: { title: { eq: 'Foo' } },
  paging: { limit: 10 },
  sorting: [{ field: "create", direction: SortDirection.DESC }],
});
Inherited from
TypegooseQueryService.query
Defined in
node_modules/@ptc-org/nestjs-query-typegoose/src/services/typegoose-query-service.d.ts:27
queryRelations
▸ queryRelations<Relation>(RelationClass, relationName, entities, query): Promise<Map<DocumentType<Dato>, DocumentType<Relation>[]>>
Type parameters
| Name | 
|---|
Relation | 
Parameters
| Name | Type | 
|---|---|
RelationClass | Class<Relation> | 
relationName | string | 
entities | DocumentType<Dato>[] | 
query | Query<Relation> | 
Returns
Promise<Map<DocumentType<Dato>, DocumentType<Relation>[]>>
Inherited from
TypegooseQueryService.queryRelations
Defined in
node_modules/@ptc-org/nestjs-query-typegoose/src/services/reference-query.service.d.ts:17
▸ queryRelations<Relation>(RelationClass, relationName, dto, query): Promise<DocumentType<Relation>[]>
Type parameters
| Name | 
|---|
Relation | 
Parameters
| Name | Type | 
|---|---|
RelationClass | Class<Relation> | 
relationName | string | 
dto | DocumentType<Dato> | 
query | Query<Relation> | 
Returns
Promise<DocumentType<Relation>[]>
Inherited from
TypegooseQueryService.queryRelations
Defined in
node_modules/@ptc-org/nestjs-query-typegoose/src/services/reference-query.service.d.ts:18
removeRelation
▸ removeRelation<Relation>(relationName, id, relationId, opts?): Promise<DocumentType<Dato>>
Type parameters
| Name | 
|---|
Relation | 
Parameters
| Name | Type | 
|---|---|
relationName | string | 
id | string | number | 
relationId | string | number | 
opts? | ModifyRelationOptions<Dato, Relation> | 
Returns
Promise<DocumentType<Dato>>
Inherited from
TypegooseQueryService.removeRelation
Defined in
node_modules/@ptc-org/nestjs-query-typegoose/src/services/reference-query.service.d.ts:22
removeRelations
▸ removeRelations<Relation>(relationName, id, relationIds, opts?): Promise<DocumentType<Dato>>
Type parameters
| Name | 
|---|
Relation | 
Parameters
| Name | Type | 
|---|---|
relationName | string | 
id | string | number | 
relationIds | number[] | string[] | 
opts? | ModifyRelationOptions<Dato, Relation> | 
Returns
Promise<DocumentType<Dato>>
Inherited from
TypegooseQueryService.removeRelations
Defined in
node_modules/@ptc-org/nestjs-query-typegoose/src/services/reference-query.service.d.ts:23
setRelation
▸ setRelation<Relation>(relationName, id, relationId, opts?): Promise<DocumentType<Dato>>
Type parameters
| Name | 
|---|
Relation | 
Parameters
| Name | Type | 
|---|---|
relationName | string | 
id | string | number | 
relationId | string | number | 
opts? | ModifyRelationOptions<Dato, Relation> | 
Returns
Promise<DocumentType<Dato>>
Inherited from
TypegooseQueryService.setRelation
Defined in
node_modules/@ptc-org/nestjs-query-typegoose/src/services/reference-query.service.d.ts:21
setRelations
▸ setRelations<Relation>(relationName, id, relationIds, opts?): Promise<DocumentType<Dato>>
Type parameters
| Name | 
|---|
Relation | 
Parameters
| Name | Type | 
|---|---|
relationName | string | 
id | string | 
relationIds | (string | number)[] | 
opts? | ModifyRelationOptions<Dato, Relation> | 
Returns
Promise<DocumentType<Dato>>
Inherited from
TypegooseQueryService.setRelations
Defined in
node_modules/@ptc-org/nestjs-query-typegoose/src/services/reference-query.service.d.ts:20
updateMany
▸ updateMany(update, filter): Promise<UpdateManyResponse>
Update multiple entities with a @ptc-org/nestjs-query-core Filter.
Parameters
| Name | Type | Description | 
|---|---|---|
update | DeepPartial<Dato> | A Partial of entity with the fields to update | 
filter | Filter<Dato> | A Filter used to find the records to update | 
Returns
Promise<UpdateManyResponse>
Example
const { updatedCount } = await this.service.updateMany(
  { completed: true }, // the update to apply
  { title: { eq: 'Foo Title' } } // Filter to find records to update
);
Inherited from
TypegooseQueryService.updateMany
Defined in
node_modules/@ptc-org/nestjs-query-typegoose/src/services/typegoose-query-service.d.ts:104
updateOne
▸ updateOne(id, update, opts?): Promise<DocumentType<Dato>>
Update an entity.
Parameters
| Name | Type | Description | 
|---|---|---|
id | string | The id of the record. | 
update | DeepPartial<Dato> | A Partial of the entity with fields to update. | 
opts? | UpdateOneOptions<Dato> | Additional options | 
Returns
Promise<DocumentType<Dato>>
Example
const updatedEntity = await this.service.updateOne(1, { completed: true });
Inherited from
TypegooseQueryService.updateOne
Defined in
node_modules/@ptc-org/nestjs-query-typegoose/src/services/typegoose-query-service.d.ts:90