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

“gold”是嵌套的,所以我相信搜索词是:

v_gold:255

下划线用作嵌套键之间的分隔符。

-Alexander Sicular

于 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 回答