使用用户名更新书架js

时间:2018-12-04 04:16:08

标签: postgresql express bookshelf.js

我正在尝试使用书架js更新表格。但是它需要一个ID来更新表。每当用户登录时,我都想更新刷新令牌,但是如何在数据库中获取ID。

await new User({ username: user.username }).save({ refreshToken }, { method: 'update' });

仅当我传递ID而不是用户名时此命令才有效。有什么办法可以解决这个问题?

2 个答案:

答案 0 :(得分:1)

不必提供ID即可更新表数据。您可以使用用户名尝试这种方式。

public void sendMail(MultiValueMap<String, String> map) {
    try {
        setAPI();
    } catch (IOException e) {
        Logger.error(this.getClass(), "sendMail()", "Cannot send mail. Cannot load mailtrain.url property: " + e.getMessage());
        return;
    }
    if (API == null) {
        Logger.error(this.getClass(), "sendMail()", "Cannot send mail. Cannot load mailtrain.url property.");
        return;
    }
    System.out.println("API = "+API);
    ...

private void setAPI() throws IOException {
    InputStream is = this.getClass().getResourceAsStream("/application.properties");
    Properties p = new Properties();
    p.load(is);
    API = p.getProperty("mailtrain.url");
}

答案 1 :(得分:0)

我假设您的用户名列具有唯一约束。

您是否尝试过先通过用户名吸引用户,然后执行更新?

我有一个类似的用例,并通过以下方式解决:

User.forge({ username })
.fetch({ require: true })
.then((user) => user.save({ refreshToken }))