【问题标题】:PostgreSQL with NodeJS - Getting the row back or at least the IDPostgreSQL with NodeJS - 取回行或至少获取 ID
【发布时间】:2014-02-25 16:36:16
【问题描述】:

我已经在我们的新移动应用 API 中从 mongoDB(终于!)切换到 PostgreSQL,到目前为止一切顺利。我遇到的一个问题是,当我将行插入数据库时​​,我需要返回插入的数据。

我正在使用“pg”节点模块,除此之外,我还为验证等编写了简单的模型结构。

现在,当我将此模型/行保存到数据库时,我基本上拥有了整个结构,但仍然缺少一些由数据库生成的重要值,即 ID 和创建日期。

所以我需要 pg 来返回整个插入的对象,或者至少返回它的 id,以便我可以将它填充到模型中。

我在谷歌上搜索了一些答案,但没有什么令人满意的,特别是对于 nodejs 也没有。

谢谢!

【问题讨论】:

    标签: sql node.js postgresql


    【解决方案1】:

    我得到的最简单的答案并不特定于节点或 pg 模块。您可以只附加您的 INSERT INTO sql 语句以使用 RETURNING * 应该返回您创建的行

    你还没有发布你的具体例子,所以我会补一个:

    pg.connect(config, function (error, client, done) {
        if (error) // Handle error
        var query = "INSERT INTO people (name) VALUES ($1) RETURNING *",
            params = ["Tom"]
        client.query(query, params, function (error, result) {
            result.rows // Will contain your inserted rows
            done();
        });
    });
    

    【讨论】:

    • 多么简单和优雅!非常感谢!
    猜你喜欢
    • 1970-01-01
    • 2011-10-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-06-09
    相关资源
    最近更新 更多