我正在使用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返回给客户端?
答案 0 :(得分:0)
在架构定义中执行以下操作:
export const MySchema = new mongoose.Schema({
field_name: String,
}, { _id: true,
collection: 'collection_name',
id: true, toJSON: {
virtuals: true,
versionKey: true
}
})
我刚刚测试过,就可以了。