Как вернуть вставленные данные в typeorm и nest.js

#typescript #nestjs #typeorm

#typescript #nestjs #typeorm

Вопрос:

Я могу вставить следующие данные json с помощью Post метода.

 {
"userId":1,
"title":"mytest",
}
  

Я хотел бы вернуть это data в client

Вот мой controller

 @Controller('event')
export class EventController {
  constructor(private readonly eventService: EventService) {}

  @Post()
  createEvent(@Body() param: EventRequest) {
    return this.eventService.createEvent(param);
  }
}
  

Ниже приводится мой service

 @Injectable()
export class EventService {
  constructor(private readonly eventRepository: eventRepository) {}
  async createEvent(eventParam: EventRequest): Promise<InsertResult> {
    const event = new Event();
    Object.entries(eventParam).forEach(param => {
      event[param[0]] = param[1];
    });
    try {
      return this.eventRepository.insert(event);
    } catch (error) {
      throw new InternalServerErrorException();
    }
  }
}
  

На мой взгляд, после выполнения необходимо вставить некоторый код.

return this.eventRepository.insert(event);

Теперь он вернул следующие данные. кажется, это не основные данные.

 {
    "identifiers": [
        {
            "id": 15
        }
    ],
    "generatedMaps": [
        {
            "id": 15,
            "createdAt": "2020-10-05T12:36:51.091Z",
            "updatedAt": "2020-10-05T12:36:51.091Z",
            "deletedAt": null
        }
    ],
    "raw": {
        "fieldCount": 0,
        "affectedRows": 1,
        "insertId": 15,
        "serverStatus": 2,
        "warningCount": 0,
        "message": "",
        "protocol41": true,
        "changedRows": 0
    }
}
  

Мой желаемый результат выглядит следующим образом: id столбец автоинкремента.

 {
id: events.id,
userId: events.userid,
title: events.title
}
  

Есть ли какая-либо информация? есть ли какой-либо способ добиться этого?

Если у кого-то есть мнение, пожалуйста, дайте мне знать.

Спасибо

Комментарии:

1. Не уверен, но попробуйте save() , т.е. return this.eventRepository.insert(event); Он должен вернуть вставленную запись