2013-04-27 81 views
2

在我的節點應用程序中,我使用Cradle庫將數據保存在CouchDB中。 現在我想用指定的開始日期和結束日期來獲取存儲的數據。 我該怎麼做。我已經添加了如下設計文檔。這是對的嗎? 如何將我的參數傳遞給此函數?如何使用開始日期和結束日期查詢CouchDB數據

function (doc) { 
    if (doc.date) { 
     var key = [doc.start, doc.end]; 
     emit(key, doc); 
    } 
} 

文檔結構

 { 
     "_id": "58113f948561d38b1eba8ba343432c45", 
     "_rev": "1-be4f3d2fd93a8941659c73333941561d", 
     "date": "2013-04-29T06:36:29.165Z", 
     "name":"sdasd", 
     "age":"20" 
     } 

我喜歡的查詢低於上述設計文件

var startDate = '2013-04-27T08:41:23.559Z'; 
var endDate = '2013-04-29T08:41:23.559Z'; 

db.view('data/byDate', { key: [startDate, endDate] }, function(err, doc) { 
    if (!err) { 
     console.log(doc.length); 
    } else { 
     console.log('Error '+err); 
    } 
}); 
+0

這似乎是正確的。什麼不正確? – Simon 2013-04-28 04:55:20

+0

@Simon我在指定的日期之間有更多的文檔,但在使用上述視圖語句時我沒有收到任何文檔。 – sachin 2013-04-29 06:12:53

回答

0

您的示例文檔和視圖的結構不匹配:您嘗試發出doc.startdoc.end但這些字段不存在(因此文檔將不包含在視圖中)。也許你只是想發出doc.date?像這樣:

function (doc) { 
    if (doc.date) { 
     emit(doc.date, doc); 
    } 
} 
相關問題