如何获取couch.get的长度(数据,标题,状态)

时间:2017-01-23 12:37:21

标签: json node.js express npm couchdb

我尝试通过连接到couchdb来创建带有expressjs的nodejs。为此,我使用了使用npm安装的nodejs-couch。

app.get('/', function(req, res) {
  couch
    .get(dbName, viewUrl)
    .then(
      function(data, headers, status) {
        console.log(data.length);
        var data1 = data.data.rows;
        console.log(data1);
        res.send(data1.length);
      },
      function(err) {
        res.send(err);
      }
    );
});

我的json数据:

[
  {
    "id": "7a6a4d9cf76efc00977ca63ca3002a31",
    "key": "7a6a4d9cf76efc00977ca63ca3002a31",
    "value": {
      "name": "nagarjuna",
      "email": "nagarjuna@gmail.com",
      "password": "12345",
      "mobile": "987654321",
      "rev": "8-c90103f1fca709ae314a684c767c97dc"
    }
  },
  {
    "id": "7a6a4d9cf76efc00977ca63ca3003743",
    "key": "7a6a4d9cf76efc00977ca63ca3003743",
    "value": {
      "name": "sandeep",
      "email": "sandeep@gmail.com",
      "password": "54321",
      "mobile": "9876541",
      "rev": "1-fd6e667b87794adea78e169bc46016e6"
    }
  }
]

我写了get函数来获取所有客户信息。如果我打印console.log(data.data.rows);我可以获取json数据。但我想从json获取长度和属性值。但是当我打印console.log(data.length);时,它会undefined

任何人都可以建议我。任何建议,将不胜感激。

1 个答案:

答案 0 :(得分:1)

数据库的结果包含许多不同的信息,例如元信息和结果。以下是您正在寻找的内容的精简版

var data = {
  data: {
    rows: [{row1},{row2}...];
  }
}

因此,为了能够从数据库中获取行的长度,您必须深入研究对象中的正确属性,如下所示:

var length = data.data.rows.length;