1

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

文件看起来像:

{
   "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

我假设我应该能够通过在查询字符串 ?key=["BackOffice1","CPTY2"]&reduce=true&group=true 中设置 key 参数来获取所有带有键 ["BackOffice1","CPTY2"] 的文档。但是什么都没有返回。

我可能会错过我们应该如何使用 key 和 keys 参数的一些东西。

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

我的方法有问题吗?

4

2 回答 2

0

你必须添加

keys=["BackOffice1","CPTY2"]

作为参数。

于 2014-10-31T09:48:48.623 回答
0

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

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

在查看 Couchbase 文档中的示例后,我对 keys 参数的使用不正确。以数组为键查询视图,keys参数格式如下:keys=[["value1",value2"],["value3",value2"]]。

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

谢谢

于 2014-11-03T10:50:42.663 回答