Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sqlite/3.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
Couchbase-使用特定键使用复合键查询简化视图_Couchbase - Fatal编程技术网

Couchbase-使用特定键使用复合键查询简化视图

Couchbase-使用特定键使用复合键查询简化视图,couchbase,Couchbase,我正在尝试获取特定用户的最后10个事务 例如,我有以下文件: { "user": 1, "date": 1442408126 } { "user": 1, "date": 1442408130 } { "user": 1, "date": 1442408140 } { "user": 2, "date": 1442408126 } 我定义了这个观点: // MAP: function (doc, meta) { if(meta.type == "json") { if(doc.us

我正在尝试获取特定用户的最后10个事务

例如,我有以下文件:

{ "user": 1, "date": 1442408126 }
{ "user": 1, "date": 1442408130 }
{ "user": 1, "date": 1442408140 }
{ "user": 2, "date": 1442408126 }
我定义了这个观点:

// MAP:
function (doc, meta) {
  if(meta.type == "json") {
    if(doc.user && doc.date) {  
      var eventKey = dateToArray(new Date(parseInt(doc.date)));
      eventKey.unshift(doc.user);

      emit(eventKey, {"date":doc.date});
    }
  }
}

// REDUCE:
function(key, values, rereduce) {
  return values.slice(0,10);
}
reduce=true
group_level=1
时,这就是结果(这是好的):

现在,当我用
startKey=[1]
endKey=[2]
查询视图时(stale=false&startKey=%5B1%5D&endKey=%5B2%5D&group=true&group\u level=1&reduce=true&connection\u timeout=60000&limit=10&skip=0),我得到了我想要的行:

Key    Value
[1]    [ { "date": 1442408140 }, { "date": 1442408130 }, { "date": 1442...
但是,我想使用key=[1]而不是进行范围搜索

当我使用key参数(stale=false&group=true&group\u level=1&key=%5B1%5D&reduce=true&connection\u timeout=60000&limit=10&skip=0)时,我得到一个空结果

使用带有inclusive\u end=true的
startKey=[1]
endKey=[1]
也会返回一个空列表


我做错了什么?

对于Couchbase,请相信有一个内置的“计数”函数,可以自动处理重新计数,以便获得结果集中所有项目的计数,而不是缩减集的计数


可以参考文档页面上的。

对于Couchbase,请相信有一个内置的“计数”函数可以自动处理重新计数,以便您获得结果集中所有项目的计数,而不是缩减集的计数


可以参考文档页上的。

找到了答案:使用具有复杂键的视图时,不能在查询中使用“键”参数。在这种情况下,我们必须使用startKey和endKey,而endKey与startKey相同,但在末尾添加了一个空对象。例如,startKey=[1],endKey=[1,{}]


此处有更多详细信息:

找到了答案:使用具有复杂键的视图时,不能在查询中使用“key”参数。在这种情况下,我们必须使用startKey和endKey,而endKey与startKey相同,但在末尾添加了一个空对象。例如,startKey=[1],endKey=[1,{}]


此处有更多详细信息:

如何使用关键参数?通过使用startKey[1]查询视图?不,我尝试使用“key=[1]”,但我不介意任何允许我通过特定键进行查询的解决方案。如何使用key参数?通过使用startKey[1]查询视图?不,我尝试使用“key=[1]”,但我不介意任何允许我通过特定键进行查询的解决方案。我不会得到项目计数,而是项目本身。实际上,我的问题不在于reduce函数,而在于通过特定键进行查询。我没有得到项目计数,而是项目本身。实际上,我的问题不是reduce函数,而是通过特定键进行查询。
Key    Value
[1]    [ { "date": 1442408140 }, { "date": 1442408130 }, { "date": 1442...