Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/haskell/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mapreduce couchdb-获取不同值的总和_Mapreduce_Couchdb - Fatal编程技术网

Mapreduce couchdb-获取不同值的总和

Mapreduce couchdb-获取不同值的总和,mapreduce,couchdb,Mapreduce,Couchdb,我的沙发数据库中有以下数据结构。 我需要获得每天不同的会话的计数。记录还必须按app\u版本进行过滤 我当前的MapReduce如下所示 "dau": { "map": "function(doc) { date = doc.session.timestamp.split("T")[0]; emit([date, doc.app_version, doc.session.session_id], 1);

我的沙发数据库中有以下数据结构。 我需要获得每天不同的
会话的计数。记录还必须按
app\u版本进行过滤

我当前的MapReduce如下所示

"dau": {
           "map": "function(doc) {
                  date = doc.session.timestamp.split("T")[0];
                  emit([date, doc.app_version, doc.session.session_id], 1);
                  }",
           "reduce": "_count"
       }
但是这给了我如下的输出

我需要将其打印为-因为这是每天唯一的
session\u id
s的数量

你有什么想法吗

任何帮助都将不胜感激

[
        {
            "app_version": 2,
            "platform": "android",
            "session": {
                "timestamp": "2014-08-20T00:00:00.000Z",
                "session_id": "TOnNIhCNQ31LlkpEPQ7XnN1D",
                "ip": "202.150.213.66",
                "location": "1.30324,103.5498"
            }

        },
    {
        "app_version": 2,
        "platform": "android",
        "session": {
            "timestamp": "2014-08-21T00:00:00.000Z",
            "session_id": "TOnNIhCNQ31LlkpEPQ7XnN1D",
            "ip": "202.150.213.66",
            "location": "1.30324,103.5498"
        }

    }
    {
        "app_version": 2,
        "platform": "ios",
        "session": {
            "timestamp": "2014-08-21T00:00:00.000Z",
            "session_id": "TOnNIhCNQ31LlkpEPQ7XnN1D",
            "ip": "202.150.213.66",
            "location": "1.30324,103.5498"
        }

    },
    {
        "app_version": 1,
        "platform": "ios",
        "session": {
            "timestamp": "2014-08-21T00:00:00.000Z",
            "session_id": "TOnNIhCNQ31LlkpEPQ7XnN1D",
            "ip": "202.150.213.66",
            "location": "1.30324,103.5498"
        }

        }
    ]

将app_版本放在视图的第一位:

emit([doc.app_version, date, doc.session.session_id], 1);

然后用group_level=2进行查询

这不会做我需要它做的事情。这将输出[“2014-08-20”,2]3[“2014-08-21”,2]2,这不是我想要的
[
        {
            "app_version": 2,
            "platform": "android",
            "session": {
                "timestamp": "2014-08-20T00:00:00.000Z",
                "session_id": "TOnNIhCNQ31LlkpEPQ7XnN1D",
                "ip": "202.150.213.66",
                "location": "1.30324,103.5498"
            }

        },
    {
        "app_version": 2,
        "platform": "android",
        "session": {
            "timestamp": "2014-08-21T00:00:00.000Z",
            "session_id": "TOnNIhCNQ31LlkpEPQ7XnN1D",
            "ip": "202.150.213.66",
            "location": "1.30324,103.5498"
        }

    }
    {
        "app_version": 2,
        "platform": "ios",
        "session": {
            "timestamp": "2014-08-21T00:00:00.000Z",
            "session_id": "TOnNIhCNQ31LlkpEPQ7XnN1D",
            "ip": "202.150.213.66",
            "location": "1.30324,103.5498"
        }

    },
    {
        "app_version": 1,
        "platform": "ios",
        "session": {
            "timestamp": "2014-08-21T00:00:00.000Z",
            "session_id": "TOnNIhCNQ31LlkpEPQ7XnN1D",
            "ip": "202.150.213.66",
            "location": "1.30324,103.5498"
        }

        }
    ]
emit([doc.app_version, date, doc.session.session_id], 1);