mongodb - (节点 :18560) UnhandledPromiseRejectionWarning: TypeError: Cannot read property 'typeFn' of undefined

标签 mongodb typescript mongoose graphql nestjs

当我尝试使用 @ResolveField() 装饰器解析字段( block )时出现此错误。

page.resolver.ts

import {
  Resolver,
  Query,
  Mutation,
  Args,
  ResolveField,
  Parent,
} from '@nestjs/graphql';
import { PageService } from './page.service';
import { PageType } from './type/page.type';
import { CreatePageInput } from './input/create-page.input';
import { BlockService } from '../block/block.service';
import { Page } from './page.interface';

@Resolver('Page')
export class PageResolver {
  constructor(
    private readonly pageService: PageService,
    private readonly blockService: BlockService,
  ) {}

  @Query(() => [PageType])
  pages() {
    return this.pageService.getAllPages();
  }

  @Query(() => [PageType])
  async page(@Args('id') id: string) {
    return this.pageService.getPage(id);
  }

  @Mutation(() => PageType)
  createPage(@Args('createPageInput') createPageInput: CreatePageInput) {
    return this.pageService.createPage(createPageInput);
  }

  @ResolveField()
  blocks(@Parent() page: Page) {
    return this.blockService.getManyBlocks(page.blockIds);
  }
}

page.interface.ts

import { Document } from 'mongoose';

export interface Page extends Document {
  readonly id: string;
  readonly name: string;
  readonly createdAt: Date;
  readonly updatedAt: Date;
  readonly createdBy: string;
  readonly updatedBy: string;
  readonly blockIds: string[];
}

最佳答案

@Resolver() 装饰器中使用函数 () => PageType 后解决了。

@Resolver(() => PageType)

关于mongodb - (节点 :18560) UnhandledPromiseRejectionWarning: TypeError: Cannot read property 'typeFn' of undefined,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61578856/

相关文章:

node.js - Nodejs/ Mongoose 。哪种方法更适合创建文档?

linux - 无法连接到远程 mongodb 服务器

javascript - 在 typescript 中包含 jQuery ui 无法继续

javascript - 在 NodeJS 中等待 MongoDB 的一些回调

javascript - Angular 4 - 使用 NG-IF 时出现 "Expression has changed after it was checked"错误

javascript - canActivate 导致不断刷新 - Angular2+

mongodb - Mongoose 查询匹配数组的文档,无论其元素顺序如何

node.js - 使用express删除 Mongoose 条目

javascript - Mongoose 正在保存文档,即使我检查文档是否已经存在

mysql - MongoDB 和 SQL 插入、更新或删除哪个更快?