猫鼬虚拟ID字段和JSON响应

时间:2020-01-31 07:02:39

标签: typescript mongoose nestjs

我正在使用NestJS和Mongoose。我只是从mongo数据库返回文档对象,如下所示:

@Get()
@UseGuards(AuthGuard('jwt'))
async getCompany(@AuthUser() user: User) {
    const company = await this.companyModel.findById(user.companyId)
    this.logger.log(company)
    this.logger.log(company.id)
    return company
}

由于Mongoose在模型上自动创建了一个id字段,因此我可以看到id字段的值。但id字段未在响应json中返回。响应包括_id字段,而不是id。

我应该怎么做才能将id字段而不是_id返回给客户端?

1 个答案:

答案 0 :(得分:0)

在架构定义中执行以下操作:

export const MySchema = new mongoose.Schema({
       field_name: String,
       }, { _id: true, 
       collection: 'collection_name', 
       id: true, toJSON: { 
          virtuals: true, 
          versionKey: true 
     } 
})

我刚刚测试过,就可以了。