如何用开始date和结束date查询CouchDB数据

在我的节点应用程序中,我使用Cradle库将数据保存在CouchDB中。 现在我想用指定的开始date和结束date来获取存储的数据。 我怎样才能做到这一点。 我已经添加了如下devise文档。 这是对的吗? 如何将我的parameter passing给这个函数?

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" } 

上面的devise文档,我正在像下面查询

 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); } }); 

您的示例文档和视图的结构不匹配:您尝试发出doc.startdoc.end但这些字段不存在(因此文档将不包含在视图中)。 也许你只是想发出doc.date ? 像这样:

 function (doc) { if (doc.date) { emit(doc.date, doc); } }