3

オブジェクトを保存するためにcouchbaseを使用しています。

ドキュメントのキーは次のようになります

"xxxx_someRandomValue"

たとえば、私はこのキーを持つことができます

aaaa_1
aaaa_2
aaab_1
aaab_2

キーがリテラル「aaaa」で始まるすべてのドキュメントを返すビューを作成しています。

しかし、startKey="aaaa" を指定すると、Unicode 値で比較しているため、"aaab" も検出されます。

キーがリテラル "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 に答える