Лучший способ получить строку только что добавил.Героку + Узел + Постгрес - PullRequest
1 голос
/ 27 января 2012

Какой лучший способ получить только что добавленную строку, я работаю с Heroku, Node, Postgres и Expressjs. Я хочу быть в состоянии сделать что-то вроде этого.

app.post( '/', function( req, res ){
      client.query("INSERT into ..", function( err, result ){
            res.send( result.id );
      });
});

В идеале обратный вызов должен иметь информацию о строке, в которую он только что вошел, но содержимое этого объекта - просто объект, который выглядит как

{ rows:[] }

Есть ли хороший способ получить этот ряд, который я только что добавил, спасибо.

1 Ответ

4 голосов
/ 27 января 2012

Вы, вероятно, хотите использовать INSERT ... RETURNING:

Необязательное предложение RETURNING заставляет INSERT вычислять и возвращать значение (я) на основе каждой вставленной строки. Это в первую очередь полезно для получения значений, которые были предоставлены по умолчанию, таких как серийный номер последовательности. Однако любое выражение, использующее столбцы таблицы, разрешено. Синтаксис списка RETURNING идентичен синтаксису списка вывода SELECT.

Так что-то вроде этого:

client.query('insert into your_table (...) values (...) returning *', function(err, result) {
    // ...
});

должен получить новую строку в функции обратного вызова.

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