2017-01-23 49 views
0

我試圖通過連接到couchdb創建帶有expressjs的nodejs。爲此,我使用npm安裝了nodejs-couch。如何獲得couch.get的長度(數據,標題,狀態)

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": "[email protected]", 
     "password": "12345", 
     "mobile": "987654321", 
     "rev": "8-c90103f1fca709ae314a684c767c97dc" 
    } 
    }, 
    { 
    "id": "7a6a4d9cf76efc00977ca63ca3003743", 
    "key": "7a6a4d9cf76efc00977ca63ca3003743", 
    "value": { 
     "name": "sandeep", 
     "email": "[email protected]", 
     "password": "54321", 
     "mobile": "9876541", 
     "rev": "1-fd6e667b87794adea78e169bc46016e6" 
    } 
    } 
] 

我寫get函數來獲取所有客戶的信息。如果我打印console.log(data.data.rows);我能夠獲取json數據。但我想從json獲取長度和屬性值。但是,當我打印console.log(data.length);它得到undefined

任何人都可以建議我。任何建議,將不勝感激。

+0

如果我理解你是正確的,你想知道你從數據庫中得到了多少行?嘗試console.log(data.data.rows.length); –

+1

@ R.Gulbrandsen謝謝你。的console.log(data.data.rows.length);解決了。你grealt –

回答

1

數據庫中的結果包含許多不同的信息,如元信息和結果。這裏是你要找的

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

你能夠從數據庫中獲取行的長度,所以爲了什麼,你必須深入到正確的屬性,如對象下調錶示這個:

var length = data.data.rows.length; 
+0

我想從上面提到的JSON數據獲取屬性值。但我無法得到它。的console.log(data.data.rows.value.email); –

+0

我想做一些事情,如果(data.data.rows.value.email =='[email protected]'&& data.data.rows.value.password =='12345'){ \t \t res 。發送( 「驗證」); \t} else { \t \t res.send(「unauthenticated」); \t} –

+0

因爲這些行是一個列表,所以您必須在列表中指定要從中獲取電子郵件的元素。像data.data.rows [0] .value.email –

相關問題