Пн goose поля виртуального идентификатора и JSON ответы - PullRequest
0 голосов
/ 31 января 2020

Я использую Гнездо JS и Пн goose. Я просто возвращаю объекты документа из базы данных mon go, как показано ниже:

@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
}

Поскольку Mon goose автоматически создает поле id на моделях, я вижу значение поля id. Но поле id не возвращается в ответе json. Ответ содержал поле _id, а не идентификатор.

Что я должен сделать, чтобы вернуть поля идентификатора клиенту вместо _id?

1 Ответ

0 голосов
/ 31 января 2020

В вашем определении схемы сделайте что-то вроде этого:

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

Я только что проверил, и это сработало.

...