如何"键"和"关键"应该在Couchbase中使用过滤器来过滤视图结果?

时间:2014-10-22 11:01:35

标签: filtering couchbase couchbase-view nosql

我在Web控制台的Couchbase(版本:3.0.0企业版)中遇到了密钥和密钥过滤器参数问题。无论我在这些参数中设置什么值,都不会返回任何记录。

文件看起来像:

{
   "folder": "F3",
   "ccy": "USD",
   "pnl": 789700,
   "maturity": "4424-10-16 00:00 AM CEST",
   "source": "BackOffice1",
   "npv": 341684,
   "symbolic_id": 880888,
   "bpv": 374000,
   "cpty": "CPTY2"
}

地图功能是:

function (doc, meta) {

 emit([doc.source,doc.cpty], doc.npv); 

}

Reduce是内置函数

_count

我假设我应该能够通过在查询字符串中设置关键参数来获取所有带有密钥[" BackOffice1"," CPTY2"]的文档?key = [&# 34; BackOffice1"" CPTY2"&安培;减少=真安培;基团=真。但没有任何回报。

我可能会错过如何使用键和键参数。

有关信息,startkey和endkey按预期工作。

我的方法有问题吗?

2 个答案:

答案 0 :(得分:0)

你必须添加

keys=["BackOffice1","CPTY2"]

作为参数。

答案 1 :(得分:0)

我弄清楚关键参数的问题是什么。在Couchbase 3.0.0版本中,我们需要添加inclusive_end = true参数来获得结果。

查看Couchbase错误,看起来在以前的版本中不需要它,并且它将在下一版本中恢复,请参阅https://www.couchbase.com/issues/browse/MB-12378

在Couchbase文档中查看样本后,我对keys参数的使用不正确。要使用数组作为键查询视图,keys参数的格式应如下所示: 键= [[ “VALUE1”,值2 “],[” 值3" ,值2" ]]。

如果我将此应用于我在问题中提供的示例,则查询将如下所示: ?keys = [[“BackOffice1”,“CPTY2”]]或key = [“BackOffice1”,“CPTY2”]

由于