乐闻世界logo
搜索文章和话题

Typeorm 如何通过 Mongo 数据库为 boolean 提供默认值

1 个月前提问
1 个月前修改
浏览次数24

1个答案

1

在使用TypeORM进行MongoDB开发时,指定默认值是一种常见的需求,尤其是对于布尔类型的字段。为了在Schema中为一个布尔字段设置默认值,我们可以在实体的定义中使用@Column装饰器的default属性。

下面是一个具体的例子:

typescript
import { Entity, ObjectID, ObjectIdColumn, Column } from "typeorm"; @Entity() export class User { @ObjectIdColumn() id: ObjectID; @Column() name: string; @Column({ default: true }) isActive: boolean; }

在这个例子中,我们定义了一个User实体,其中包含一个isActive字段。这个字段表示用户是否处于活跃状态。通过@Column({ default: true }),我们设置了isActive的默认值为true。这意味着当新的User实体被创建并保存到数据库中时,如果没有明确为isActive字段提供值,它将自动被赋值为true

这种设置对于确保数据完整性和简化代码逻辑非常有用,尤其是在处理大量需要默认状态标记的数据对象时。

为了验证这一功能,我们可以创建一个新的用户而不显式设置isActive字段,然后检查数据库中该字段的值确实为true

typescript
import { createConnection, getRepository } from "typeorm"; import { User } from "./User"; async function createUser() { const connection = await createConnection(); const userRepository = getRepository(User); const user = new User(); user.name = "John Doe"; await userRepository.save(user); console.log("User has been saved with default isActive value."); } createUser();

通过这种方式,我们可以确保我们的应用在处理用户数据时能自动正确处理isActive的默认状态,减少了需要手动设置此类数据的地方,使得代码更为简洁和健壮。

2024年8月3日 16:36 回复

你的答案