Правильный способ сглаживания массива из MySQL в одном объекте

#mysql #node.js

#mysql #node.js

Вопрос:

Из базы данных я получаю результирующий набор в виде массива с одним объектом внутри него. Всегда будет один объект, поскольку я управляю запросами.

У меня нет никакого ORM (подобного этому списку), и я не планирую его добавлять, поскольку код выполняется на Lambda, и у меня не будет много запросов, чтобы гарантировать добавление ORM поверх него. У меня будет несколько запросов на чтение, и все.

В настоящее время у меня есть несколько подходов, как это сделать.

 const result = await MySQLQueryBuilder.getMyQueryObject(userId);
  const resultSet = result[0];
  

Это явно вводит промежуточную переменную

 let result = await MySQLQueryBuilder.getMyQueryObject(userId);
  result = result[0];
  

И этот выглядит немного странно.

В идеале я бы сделал что-нибудь на уровне запроса, чтобы заставить его возвращать только один объект.

Идеи?

Ответ №1:

Установите ограничение 1 для вашего запроса и внесите изменения из основного файла следующим образом.

 let [result] = await MySQLQueryBuilder.getMyQueryObject(userId);
console.log(result);