Nosql Couchbase startkey作为文本值

Nosql Couchbase startkey作为文本值,nosql,couchbase,Nosql,Couchbase,我正在使用couchbase保存对象 文档的键如下所示 "xxxx_someRandomValue" 例如,我可以拥有这把钥匙 aaaa_1 aaaa_2 aaab_1 aaab_2 我正在创建一个视图,它应该返回所有文档,其中键以文字“aaaa”开头 但是,如果我指定startKey=“aaaa”,它也会为我找到“aaab”,因为它是用unicode值进行比较的 我可以强制视图只返回以文字“aaaa”开头的文档吗?试试这个 startkey=aaaa&endkey=aaab 找到

我正在使用couchbase保存对象

文档的键如下所示

"xxxx_someRandomValue"
例如,我可以拥有这把钥匙

aaaa_1
aaaa_2
aaab_1
aaab_2
我正在创建一个视图,它应该返回所有文档,其中键以文字“aaaa”开头

但是,如果我指定startKey=“aaaa”,它也会为我找到“aaab”,因为它是用unicode值进行比较的

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

试试这个

startkey=aaaa&endkey=aaab
找到解决方案:

要用作前缀,这应该可以

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

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

&startkey="aaaa"&endkey="aaaa\uefff"
您可以在此处找到有关排序的更多信息:

API
startKey(最终字符串键)
返回其键(文档名)大于或等于键的unicode值的所有JSON

API
endKey(最终字符串键)
返回其键(文档名)小于KEY的unicode值的所有JSON

因此,在您的情况下,startkey=“aaaa”&endkey=“aaab”(正如avsej所建议的)应该会给您提供所需的结果


因此,常识认为API endKey是关于比较键的结尾,但它是错误的。

它找不到任何东西,因为没有键以“aaab”结尾。