我尝试通过连接到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
。
任何人都可以建议我。任何建议,将不胜感激。
答案 0 :(得分:1)
数据库的结果包含许多不同的信息,例如元信息和结果。以下是您正在寻找的内容的精简版
var data = {
data: {
rows: [{row1},{row2}...];
}
}
因此,为了能够从数据库中获取行的长度,您必须深入研究对象中的正确属性,如下所示:
var length = data.data.rows.length;