2013-04-27 38 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); 
    } 
} 
相关问题