我正在使用 couchbase 来保存对象。
文档的键如下所示
"xxxx_someRandomValue"
例如,我可以拥有这个键
aaaa_1
aaaa_2
aaab_1
aaab_2
我正在制作一个视图,它应该返回我所有以文字“aaaa”开头的键的文档。
但是,如果我指定 startKey="aaaa",它也会为我找到“aaab”,因为它在 unicode 值中比较它。
我可以强制视图只返回以文字“aaaa_”开头的键的文档吗?
除了 startkey 之外,您是否尝试过使用 endkey 值,例如
&startkey="aaaa"&endkey="aaaa\uefff"
您可以在此处找到有关排序的更多信息:
http://blog.couchbase.com/understanding-letter-ordering-view-queries
试试这个
startkey=aaaa&endkey=aaab
APIstartKey(final String KEY)
返回所有键(文档名称)大于或等于 KEY 的 unicode 值的 json。
APIendKey(final String KEY)
返回所有键(文档名称)小于 KEY 的 unicode 值的 json。
因此,在您的情况下, startkey="aaaa"&endkey="aaab" (如 avsej 所建议)应该会给您想要的结果。
所以常识说API endKey 是关于比较密钥的结尾,但它是错误的。