0

JSONでレコードを検索するには?

例えば:

http://server.cc/riak/Scores/user12

{ v: "{"score":0,"tab":14,"gold":255}" }

「ゴールド」が 150 以上または 255 に等しいすべてのレコードを取得するにはどうすればよいですか?

バケットに Riak Search フックをインストールしました。riak php lib の例を使用しました。

 $client = new Riak(self::HOST, self::PORT);
 $bucket = $client->bucket("Scores");
 $results = $client->search("Scores", "gold:255")->run();

結果がありません。

これは mapreduce で実行できますか?

4

2 に答える 2

1

Riak ユーザーのメーリング リストで、次のように通り過ぎるのを見たところです。

http://lists.basho.com/pipermail/riak-users_lists.basho.com/2013-June/012286.html

「金」は入れ子になっているので、検索語は次のようになると思います:

v_ゴールド:255

ネストされたキー間の区切り文字としてアンダースコアが使用されます。

-アレクサンダー・シキュラー

于 2013-06-17T20:02:36.207 に答える
0

たとえば、次のような json オブジェクトがあります。

var goldJson=
    [
        {"score": ,   "tab": , "gold": 255},
        {"score": ,   "tab": , "gold": 256},
        {"score": , "tab": , "gold": 257}
    ]

次のコードを使用して、150 以上または 255 に等しいゴールドを取得できるようになりました。

for(var i = 0; i < goldJson.length; i++)
{
  if(goldJson[i].gold >150 || goldJson[i].gold == 255)
  {
    //get gold More than 150 or equal to 255
  }
}
于 2013-06-17T13:11:59.523 に答える