nodejs在数据库用户表中表达postgresql create use

在尝试为“新用户”插入信息之前检查用户是否已在数据库中的实用方法是什么

这是我的ID和插入功能获取用户:

const getUserById = (request,response) => {
    const id = parseInt(request.params.attuid)

    pg.query('SELECT * FROM geodate.users WHERE attuid = $1',[attuid],(err,res) => {
        if (err) {
            return next(err)
        }
        response.status(200).json(results.rows)
    })
}


const createUser = (request,response) => {
    const attuid = request.body[0].attuid

    pg.query('INSERT INTO geodata.users (attuid,num_queries,created_date,modified_date) VALUES ($1,$2,$3,$4) RETURNING *',[attuid,moment(new Date()),moment(new Date())],(error,results) => {
        if (error) {
            throw error
        }
        response.status(201).send(`User added with ID: ${results.rows[0].attuid}`)
    })
}

谢谢

royanon 回答:nodejs在数据库用户表中表达postgresql create use

射频家伙, 很好的阴影。首先,从geodata.users表中选择用户。如果用户存在,则不应添加该用户。我不使用pg来查询postgres,所以我真的不知道它是如何工作的,但是您应该可以做到这一点:

const createUser = (request,response) => {   const attuid = request.body[0].attuid

  pg.query('SELECT * FROM geodate.users WHERE attuid = $1',[attuid],(err,res)=> {
    if (err) {
        return next(err)
    }
      if(results.rows > 0)
      {

        pg.query('INSERT INTO geodata.users (attuid,num_queries,created_date,modified_date) VALUES ($1,$2,$3,$4) RETURNING
*',[attuid,moment(new Date()),moment(new Date())],(error,results) => {
          if (error) {
              throw error
          }
          response.status(201).send(`User added with ID: ${results.rows[0].attuid}`)
      })

      }
      else{
    response.status(200).json({"message": "Ha! you are already in the db,silly"})
      } }) }
本文链接:https://www.f2er.com/2344104.html

大家都在问