3

我正在使用 couchbase 来保存对象。

文档的键如下所示

"xxxx_someRandomValue"

例如,我可以拥有这个键

aaaa_1
aaaa_2
aaab_1
aaab_2

我正在制作一个视图,它应该返回我所有以文字“aaaa”开头的键的文档。

但是,如果我指定 startKey="aaaa",它也会为我找到“aaab”,因为它在 unicode 值中比较它。

我可以强制视图只返回以文字“aaaa_”开头的键的文档吗?

4

4 回答 4

2

找到了解决方案:

要作为前缀,这应该可以

startkey="aaaa"&endkey="aaaa\u02ad"

文件

于 2013-03-08T15:31:42.933 回答
1

除了 startkey 之外,您是否尝试过使用 endkey 值,例如

&startkey="aaaa"&endkey="aaaa\uefff"

您可以在此处找到有关排序的更多信息:

http://blog.couchbase.com/understanding-letter-ordering-view-queries

于 2013-03-08T16:06:29.767 回答
0

试试这个

startkey=aaaa&endkey=aaab
于 2013-03-08T15:25:28.253 回答
0

APIstartKey(final String KEY)返回所有键(文档名称)大于或等于 KEY 的 unicode 值的 json。

APIendKey(final String KEY)返回所有键(文档名称)小于 KEY 的 unicode 值的 json。

因此,在您的情况下, startkey="aaaa"&endkey="aaab" (如 avsej 所建议)应该会给您想要的结果。

所以常识说API endKey 是关于比较密钥的结尾,但它是错误的。

于 2016-08-15T14:55:58.027 回答