大家好!😊
import { modelOptions, prop } from '@typegoose/typegoose';
import mongoose from 'mongoose';
import { Field, ID, ObjectType } from 'type-graphql';
@ObjectType()
@modelOptions({ schemaOptions: { versionKey: false } })
export class UserEntity {
@Field()
@prop()
public email?: string;
@Field()
@prop()
public firstName?: string;
@Field(() => ID)
@prop()
public id: mongoose.Types.ObjectId;
@Field()
@prop()
public lastName?: string;
}
mutation Register {
register(password: "password1234", email: "mail", lastName: "lasr", firstName: "first") {
id
}
}
我使用type-graphl
和typegoose
来提供一个UserEntity
作为变异的结果。在数据库中创建一个用户后,文档中有一个autogenerated _id,正如预期的那样。create函数的结果有一个id
属性,其字符串表示为id
。变异工作正常,但如果我查询id,我会得到以下异常:Cannot return null for non-nullable field UserEntity.id.
我该如何解决这个问题?我必须使用什么装饰器才能看到正确的id
?
1条答案
按热度按时间brqmpdu11#
我将
id
重命名为_id
,并从属性中删除了@prop()
。这样就可以从数据库中访问生成的_id
。