Javascript 仅使用Knex增加postgres DB中的最低条目

Javascript 仅使用Knex增加postgres DB中的最低条目,javascript,database,postgresql,knex.js,Javascript,Database,Postgresql,Knex.js,我试图获取一个特定用户具有最低计数列的行,然后仅递增该列,并返回它。这是我在下面写的,我认为它会起作用,但它会增加该用户选项的每个计数列。再说一次,我只想要最低计数的列 knex('options').where('user_id', user_id) .orderBy('tally', 'asc') .limit(1) .first()

我试图获取一个特定用户具有最低计数列的行,然后仅递增该列,并返回它。这是我在下面写的,我认为它会起作用,但它会增加该用户选项的每个计数列。再说一次,我只想要最低计数的列

knex('options').where('user_id', user_id)
                        .orderBy('tally', 'asc')
                        .limit(1)
                        .first()
                        .increment('tally', 1)
                        .then((option) => {
                           console.log(option);
                           res.sendStatus(200)
})

可以使用子查询执行此操作:

knex('options')
  .increment('tally', 1)
  .whereIn('id', subQuery => {
    subQuery('options')
     .select('id')
     .where('user_id', user_id)
     .orderBy('tally', 'asc')
     .limit(1);
  })
  .then(option => {
    console.log(option);
    res.sendStatus(200);
  });

您可以使用
.toSQL()
检查生成器生成的SQL类型。例如,您的查询呈现为:
update“options”set“tally”=“tally”+1其中“user\u id”=?
非常感谢!这就是我要找的。