Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/mercurial/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Riak:2i查询未返回密钥_Javascript_Riak - Fatal编程技术网

Javascript Riak:2i查询未返回密钥

Javascript Riak:2i查询未返回密钥,javascript,riak,Javascript,Riak,我只是在测试里亚克。我已经将后端设置为内存,最大2GB,并启用了搜索 我正在使用nodejs和。我插入了100个测试对象,代码如下: for ( var i = 0; i < 100; i++ ) { //add riak.put({ bucket: 'testy', key: String(i), index: { a_bin: 'A' + i }, index: { b_bin: 'B' + i },

我只是在测试里亚克。我已经将后端设置为内存,最大2GB,并启用了搜索

我正在使用nodejs和。我插入了100个测试对象,代码如下:

for ( var i = 0; i < 100; i++ ) {
    //add
    riak.put({
        bucket: 'testy',
        key: String(i),
        index: { a_bin: 'A' + i },
        index: { b_bin: 'B' + i },
        data: {
            A: "A" + i,
            B: "B" + i,
            C: "C" + i
        }
    }, function (err, reply) {
        console.log(err, reply);
    });
};
for(变量i=0;i<100;i++){
//加
里亚克普特酒店({
桶:“暴躁”,
键:字符串(i),
索引:{a_bin:'a'+i},
索引:{b_bin:'b'+i},
数据:{
A:“A”+i,
B:“B”+i,
C:“C”+i
}
},函数(错误,回复){
console.log(err,reply);
});
};
现在,我可以使用以下命令行通过键成功获取对象:

$curl-vhttp://localhost:8098/buckets/testy/keys/1

但是,我无法使用我的2i检索对象:

$curl-vhttp://localhost:8098/buckets/testy/index/a_bin/A1

返回

{“键”:[]}


想法?谢谢

对于任何遇到此问题的人来说,SimpleRik驱动程序似乎存在问题。我只是从命令行通过http api添加了一个对象,然后用索引成功地调用了它。

我认为JSON不允许在对象中使用重复的键名,所以
index:{a_-bin:'a'+I},index:{b_-bin:'b'+I},
无效,并且可能被解释为
索引的第二个值取代了第一个值。这是有道理的,但文档中明确指出:“您可以指定任意多个索引,属性名称将是索引,其值将是键。”是否尝试将它们作为单个索引对象的单独属性而不是冲突索引对象添加?