我正在尝试确定是否存在一个对象来决定是使用新的key
创建新对象还是更新现有对象。这里的目标是匹配两个二级索引。
db.query(bucket, {end: null, definition_id: id}, function(err, data) {
if (err) {
res.send(err);
} else {
if (data.length === 0) {
// write new obj
} else {
// add to current obj
}
}
});
如果使用HTTP API有一种简单的方法可以解决这个问题,那么,我也无法在文档中找到它。
感谢。
答案 0 :(得分:3)
Riak的二级索引不支持同时查询两个索引,您需要分别查询每个索引,然后与结果集相交。
但是,如果您需要定期查询同一对索引,则可以创建除其他索引之外的复合索引。因此,如果要编制索引,end和definition_id,还要创建一个end-def索引,其值为end,definition_id与分隔符连接。