下面的代码:
.findOne({ id: model.userId })!;
进行区分大小写的比较。我想比较一下UUID
和case insensitive
。
我该怎么做?
我使用MSSQL
作为数据库。它以小写形式存储GUID
。但是有一个问题,TypeORM
总是返回Uppercased UUID
。
例如:
let application = await applicationRepo.findOne({id: model.id, ownerId: res.locals.owner.id});
返回此:
{
"id": "AFB3015E-BE49-EC11-AE4D-74D83E04F9D3",
"name": ".....",
"dateCreated": "1637384252132",
"status": "ACTIVE",
"ownerId": "96BBB111-BE49-EC11-AE4D-74D83E04F9D3"
}
如果可能的话,我想设置并获取小写的uuid。
我该怎么做?
注意
这是实体示例:
@Entity()
export class Application {
@PrimaryGeneratedColumn("uuid")
id: string;
@Column()
name: string;
@Column("bigint")
dateCreated: number;
@Column()
status: string;
@ManyToOne(type => Owner, owner => owner.applications)
@JoinColumn({ name: "ownerId" })
owner: Owner;
@Column()
ownerId: string;
@OneToMany(type => User, user => user.application)
users: User[];
@OneToMany(type => ChatRoom, chatRoom => chatRoom.application)
chatRooms: ChatRoom[];
}
您可以使用toLowerCase()
在本地对其进行修改
const data = {
"id": "AFB3015E-BE49-EC11-AE4D-74D83E04F9D3",
"name": ".....",
"dateCreated": "1637384252132",
"status": "ACTIVE",
"ownerId": "96BBB111-BE49-EC11-AE4D-74D83E04F9D3"
}
const result = { ...data, id: data.id.toLowerCase() };
console.log(result);