Nestjs: Type does not satisfy the constraint 'Document'

Viewed 1284

I'm getting Type 'BranchesDocument' does not satisfy the constraint 'Document'. error message. Can anyone please tell what is the mistake in my code?

branches.service.ts

import {Injectable} from '@nestjs/common';
import {InjectModel} from '@nestjs/mongoose';
import {Model} from 'mongoose';
import {BranchesDocument} from './branches.schema';

@Injectable()
export class BranchesService {
  constructor(@InjectModel('Branches') private branchesModel: Model<BranchesDocument>) {}
}

branches.schema.ts

import {Prop, Schema, SchemaFactory} from '@nestjs/mongoose';
import {IBranches} from './branches.interface';

export type BranchesDocument = BranchDetails & Document;

@Schema()
export class BranchDetails implements IBranches {
  @Prop()
  profileId: string;

  @Prop()
  name: string;

  @Prop()
  location: string;
}

export const BranchesSchema = SchemaFactory.createForClass(BranchDetails);

branches.interface.ts

export interface IBranches {
  profileId: string;
  name: string;
  location: string;
}

Error image

1 Answers

Export Document from mongoose then you will have to extend IBranches interface to Document. Like below -

import { Document } from 'mongoose';

export interface IBranches extends Document{
  profileId: string;
  name: string;
  location: string;
}
Related