【问题标题】:How to query the CouchDB data with the start date and end date如何使用开始日期和结束日期查询 CouchDB 数据
【发布时间】:2013-04-27 10:17:38
【问题描述】:

在我的节点应用程序中,我使用 Cradle 库将数据保存在 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);
    }
});

【问题讨论】:

  • 这似乎是正确的。什么不完全有效?
  • @Simon 我在指定日期之间有更多文件,但在使用上述视图语句时我没有得到任何文件。

标签: node.js couchdb cradle


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-11-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-23
    相关资源
    最近更新 更多