在couchbase中向Map函数添加新过滤器

时间:2018-04-19 10:27:09

标签: json mapreduce couchbase

我有以下格式存储在couchbase中的文档:

{
"id" : 1,
"type" : "queueStat",
"timestampIN" : 1524131000000,
"timestampOut" : 1524131925000
}

我有一个队列,时间戳IN& OUT在进入和离开队列时得到更新。

Map功能是:

function (doc, meta) {
    if (doc.id && doc.type && doc.type === "queueStat" ){
        emit([doc.id, doc.timestampIN]);
    }
}

我使用的查询有一个StartKey和一个EndKey,它们基于文档ID和时间戳IN。

这很好用,现在我想根据队列中花费的时间添加一个新的过滤器。我做了以下更改:

地图:

  function (doc, meta) {
        if (doc.id && doc.type && doc.type === "queueStat" ){
            emit([doc.id, doc.timestampIN, doc.timestampOUT-doc.timestampIN]);
        }
    }

调用此新Map函数时,例如:

http://192.168.1.41:8092/default/_design/queue/_view/CalculateDiff?stale=false&startkey=["1", 1524131000000, 0]&endkey=["1", 1524131925000, 0]

它没有考虑我的第三个添加过滤器:(

0 个答案:

没有答案