#mongodb #typescript #typeorm
#mongodb #typescript #typeorm
Вопрос:
Редактировать: когда я использую sqlite в качестве базы данных, это работает нормально. Я думаю, что все дело в интеграции typeorm с mongodb
Прежде всего, извините за грамматические ошибки
у меня есть объект, подобный этому
@Entity()
export class Entity extends BaseEntity {
@PrimaryColumn({ unique: true })
id: string;
@ObjectIdColumn()
_id: ObjectID;
@Column({ nullable: false, default: 0 })
premium: number;
@CreateDateColumn({ type: "timestamp" })
createdAt: number;
@UpdateDateColumn({ type: "timestamp" })
updatedAt: number;
}
но когда я пытаюсь создать подобные данные, они сохраняются, но не должны
const model = Entity.create();
await <Typeorm.Connection>.mongoManager.save(model);
Короче говоря, «null» можно сохранить, даже если я скажу «@PrimaryColumn()» или сделаю «nullable: false»
спасибо за всю помощь: 3
Комментарии:
1. Что вы подразумеваете под «могут быть сохранены»? Вы имеете в виду, что они на самом деле сохраняются или что TypeScript не выдает ошибку?
2. я имею в виду, что это сохраняет, но не выдает никакой ошибки, вот результат: imgur.com/aJoOmSE
3. Таким образом, идентификатор генерируется автоматически.
4. Если я не укажу значение «id» и значение «premium», будут сохранены только данные по умолчанию «_id», «createdAt» и «updatedAt», но это должно выдать ошибку
5. Ну,
premium
имеет значение по умолчанию, так что это абсолютно должно сработать. Что касается_id
, то это означает, что вы вставляете новую запись, а не сохраняете существующую запись.