Как вернуть объект вместо массива?(MySQL с узлом, JS) - PullRequest
0 голосов
/ 17 октября 2018

Эй, так быстро и коротко, я только начал использовать mysql сегодня и понял, как создать таблицу, вставить строки в эту таблицу, запросить строки, обновить и удалить и т. Д. Но я не могу понять, как вернуть объект, если я возвращаюодин объект.

например:

Я хочу вернуть такой объект

{title: 'object1', body: 'это номер объекта 1'}

вместо этого он возвращает

[{title: 'object1', body: 'это номер объекта 1}]

Я привык использовать mongodb с mongoose, а когда я использовал

collection.findOne Я получил объект, если использовал collection.find. Я получил массив

Так должен ли я всегда возвращать массив вместо объекта с помощью mysql?Я слышал о WITHOUT_ARRAY_WRAPPER. Я пытался использовать его следующим образом:

 let query = `SELECT * FROM posts WHERE id=1, WITHOUT_ARRAY_WRAPPER`;

 connection.query(query, (err, results, feilds) => {
     if(err) throw err;
     //etc...
 });

Но я получаю синтаксическую ошибку, в которой говорится "ER_PARSE_ERROR: у вас есть ошибка в синтаксисе SQL; проверьте руководство, соответствующее версии вашего сервера MySQL, дляправильный синтаксис для использования рядом с 'WITHOUT_ARRAY_WRAPPER' в строке 1 "

Если кто-то может помочь пролить некоторый свет на это, будет принята с благодарностью.

1 Ответ

0 голосов
/ 17 октября 2018

Если вы знаете, что возвращаемый ответ всегда будет одним объектом, тогда легко вернуть первый индекс массива.Вместо return response мы можем сделать return response[0], верно ??

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...