Typeorm: укажите значение по умолчанию для логического значения с базой данных Mongo - PullRequest
0 голосов
/ 01 марта 2019

Я использую typeorm с базой данных Mongo.Я хочу предоставить значение по умолчанию для столбца с 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;

Однако, когда я сохраняю в репо, isActive столбецне добавлено.

Ответы [ 2 ]

0 голосов
/ 24 мая 2019

Я столкнулся с той же проблемой на самом деле.Так что мой стек такой же (MongoDB + TypeORM).У меня такое же поле isActive в модели, и я хотел установить для него значение «false» по умолчанию.Я попытался установить «ложь» и не смог достичь цели.

Я перечитал несколько раз эту часть (https://typeorm.io/#/entities)

default: string - добавляет уровень базы данныхЗначение столбца DEFAULT.

и пришла идея, что опция default вообще не работает для логических типов (возможно, я ошибаюсь).

Итак, чтобыустановите его, я использовал beforeInsert крючок.

  @Column({
    nullable: false,
    select: false,
  })
  isActive: boolean;

  @BeforeInsert()
  beforeInsertActions() {
    this.isActive = false;
  }

Подробнее о крючках: https://typeorm.io/#/listeners-and-subscribers

0 голосов
/ 01 марта 2019

Попробуйте это.

@Column({ type: 'boolean', default: true})
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...