Tea*_*ulo 3 node.js typescript typeorm nestjs class-transformer
使用时
@UseInterceptors(ClassSerializerInterceptor)
Run Code Online (Sandbox Code Playgroud)
就像这里的文档中所解释的那样
我得到了所需的过滤结果,但是在使用 mongodb 时,id 被格式化_bsontype而不是string像以前那样没有拦截器的正常格式,如下所示:
{
"id": {
"_bsontype": "ObjectID",
"id": {
"0": 92,
"1": 108,
"2": 182,
"3": 85,
"4": 185,
"5": 20,
"6": 221,
"7": 12,
"8": 56,
"9": 66,
"10": 131,
"11": 172
}
},
"createdAt": "2019-02-20T02:07:17.895Z",
"updatedAt": "2019-02-20T02:07:17.895Z",
"firstName": "The First Name",
"lastName": "The Last Name",
"email": "giberish@gmail.com"
}
Run Code Online (Sandbox Code Playgroud)
如何将其转换回像这样的普通 id 字符串?
{
"id": "5c6cb655b914dd0c384283ac",
"createdAt": "2019-02-20T02:07:17.895Z",
"updatedAt": "2019-02-20T02:07:17.895Z",
"firstName": "The First Name",
"lastName": "The Last Name",
"email": "giberish@gmail.com"
"password": "okthen"
}
Run Code Online (Sandbox Code Playgroud)
您可以使用@Transform()带有选项的类转换器toPlainOnly:
import { Transform } from 'class-transformer';
@Entity()
export class User {
@ObjectIdColumn()
@Transform((value) => value.toString(), { toPlainOnly: true })
_id: ObjectID;
Run Code Online (Sandbox Code Playgroud)
在ClassSerializerInterceptor内部使用类变压器的classToPlain()方法。
| 归档时间: |
|
| 查看次数: |
1831 次 |
| 最近记录: |