【问题标题】:API returns array of JSON for only one resultAPI 仅针对一个结果返回 JSON 数组
【发布时间】:2017-05-03 01:29:48
【问题描述】:

目前正在开发一个给定地址的 API,它返回有关 is 的信息。我们表中的某些行是重复的,但是由于有超过 1500 万行,我无法找到重复的行。相反,我选择使用

    var query = `SELECT TOP 1 * from my_TABLE where..conditions`;

这可确保只返回一行重复项。 问题是,当它以 JSON 形式返回时,它是一个包含一个对象的数组。

在 Server.js 文件中

    // create Request object
        var request = new sql.Request();
        // query to the database
        request.query(query, function (err, result) {

            if (err) {
                console.log("Error while querying database :- " + err);
                res.send(err);
            }
            else {
                    res.send(result)
            }

返回这个:

 [{
     Address:'our info'
   }]

有没有办法让它响应

{
 Address:'our info'
}

【问题讨论】:

  • 肯定有 - 只是不返回对象数组而是一个对象。
  • 您对实现这一目标有何建议?
  • 不确定您的问题是什么意思。您实际上没有提供任何代码并想要一个特定的答案。
  • 那么res.send(result[0])呢?

标签: sql json node.js api


【解决方案1】:

因为无论如何您都从数据库中获得了对象列表,即使只有一项。

当您尝试使用 array 的第一个元素返回 json 时,它会按预期工作。

【讨论】:

  • 那么有没有更好的方法从数据库中进行查询,以确保我只得到一行
  • @Peterjamen 您已经有一个返回单行的查询
  • 就这样的具体查询而言,也就是所谓的你只有一个 1 项,它足以让你像result.getFirstObject() 那样返回你想要的东西。
猜你喜欢
  • 2015-07-12
  • 1970-01-01
  • 2012-07-07
  • 2014-01-14
  • 2011-05-29
  • 1970-01-01
  • 2019-05-12
  • 1970-01-01
相关资源
最近更新 更多