Sup*_*yan 4 boolean default-value mongodb typeorm
我在 Mongo 数据库中使用 typeorm。我想为具有boolean数据类型的列提供默认值。
我的实体如下所示:
@ObjectIdColumn()
id: ObjectID;
@Column()
name: string;
@Column()
startDate: Date;
@Column()
endDate: Date;
@Column()
inspectionTypeId: string;
@Column()
questions: string[];
@Column('boolean', {default: true})
isActive: boolean;
Run Code Online (Sandbox Code Playgroud)
但是,当我保存到 repo 中时,isActive不会添加列。
小智 20
你可以这样做:
@Column('boolean', {default: true})
isActive: boolean = true;
Run Code Online (Sandbox Code Playgroud)
如果您不向 isActive 传递值,则为 true;如果您传递值,则为该值。
事实上,我也遇到过同样的问题。所以我的堆栈是相同的(MongoDB + TypeORM)。我isActive在模型中有相同的字段,我想做的是默认将其设置为“false”。我试图设置“假”,但无法达到目标。
我重读了这部分(https://typeorm.io/#/entities)
默认值:字符串 - 添加数据库级列的 DEFAULT 值。
并认为该default选项根本不适用于布尔类型(也许我错了)。
所以为了设置它,我使用了beforeInsert钩子。
@Column({
nullable: false,
select: false,
})
isActive: boolean;
@BeforeInsert()
beforeInsertActions() {
this.isActive = false;
}
Run Code Online (Sandbox Code Playgroud)
关于钩子的更多信息:https : //typeorm.io/#/listeners-and-subscribers
| 归档时间: |
|
| 查看次数: |
13270 次 |
| 最近记录: |