将未定义的值插入数据库

时间:2019-05-24 03:13:32

标签: mysql database graphql typeorm

我已经使用typeorm设计了架构,并允许字段referencekey的可空值,如下所示

@Entity()
export class User{
    @PrimaryGeneratedColumn()
    id: number;

    @Column({ nullable: true, default: null })
    key: string;

    @Column({ nullable: true, default: null })
    reference: string;
}

在我的解析器中,我的突变将是:

Mutation: {
        createUser: async(_,{ input },ctx) => {
            let user = new User();
            user.reference = input.reference
            return await ctx.db.manager.save(user);
        },

这是我的输入变量请求:

mutation($UserInput:UserInput){
  createUser(input:$UserInput)
  {
    id
    key
    reference
  }
}
{
 "UserInput":{
   "key":"key1"
 }
}

在上述请求中,请说是否错过了插入reference的机会。如果您在突变函数中用控制台注销input.reference值,则会看到它返回undefined。但是,由于我们先前在typeorm中启用了nullable选项,因此数据库接受undefined值并返回null

在这种情况下,很好奇,undefined值是否仍会占用数据库内存?有什么影响?还是应该在我的突变函数中进行条件检查,以避免将undefined值插入数据库?

0 个答案:

没有答案