作者热门文章
- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
使用时
@UseInterceptors(ClassSerializerInterceptor)
就像在文档中解释的一样 here
我得到了想要的过滤结果,但是在使用 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"
}
如何将它转换回像这样的普通 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"
}
最佳答案
您可以使用带有选项 toPlainOnly
的类转换器的 @Transform()
:
import { Transform } from 'class-transformer';
@Entity()
export class User {
@ObjectIdColumn()
@Transform(({ value }) => value.toString(), { toPlainOnly: true })
_id: ObjectID;
ClassSerializerInterceptor
内部使用类转换器的 classToPlain()
方法。
关于node.js - 如何使用 NestJS 序列化返回 id 字符串而不是 _bsontype,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54778197/
您好,我正在遍历一个 JSON 数组,该数组由 mongoDB 中的文档查询产生。事实上,我遇到了以下行为,但我不知道为什么会这样: in key: _bsontype |value: ObjectI
使用时 @UseInterceptors(ClassSerializerInterceptor) 就像在文档中解释的一样 here 我得到了想要的过滤结果,但是在使用 mongodb 时,id 被格式
我有一个 JSON 文件,其中包含如下所示的对象。 { userID: {"_bsontype":"ObjectID","id":{"0":92,"1":237,"2":216,"3":42,
我是一名优秀的程序员,十分优秀!