首页 > 解决方案 > 如何使用 NodeJs 从 postgres 返回 INSERT 命令中的所有数据

问题描述

这个查询将数据插入到我在 Postgress 中的用户表中,但是,在使用 INSERT 命令的地方会自动生成一些其他数据。例如 userId 是主键,isAdmin 是布尔值,但默认值为 false。

我怎样才能返回所有数据而不仅仅是插入我的数据

e.g
const quertStrings = INSERT INTO users(email, first_name,last_name, password)VALUES($1, $2, $3, $4);
const values = [email.toLowerCase(), first_name, last_name,  password]
try {
 const response = pool.query(queryStrings, values);
return response;
} catch(err) {
return error; 
}

如果成功,将自动生成 userId 和 isAdmin。如何返回自动生成和插入的数据的所有数据。

Console.log(响应);给

Result {
  command: 'INSERT',
  rowCount: 1,
  oid: 0,
  rows: [],
  fields: [],
  _parsers: [],
  _types:
   TypeOverrides {
     _types:
      { getTypeParser: [Function: getTypeParser],
        setTypeParser: [Function: setTypeParser],
        arrayParser: [Object],
        builtins: [Object] },
     text: {},
     binary: {} },
  RowCtor: null,
  rowAsArray: false }

标签: javascriptnode.jspostgresql

解决方案


以下是一些可能有帮助的事情:

  1. 在 INSERT 语句的末尾添加返回 *。

  2. 如果您将其设置为串行,则应该自动生成 userId。

  3. 如果您还给了它一个默认值,isAdmin 应该会自动生成。

祝你好运!


推荐阅读