0

我试图确定一个对象的存在,以决定是使用新对象创建新对象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 做到这一点,我也会为此而努力,只是似乎无法在文档中找到它。

谢谢。

4

1 回答 1

3

Riak 的二级索引不支持同时查询 2 个索引,您需要分别查询每个索引,然后与结果集相交。

但是,如果您需要定期查询同一对索引,则可以在其他索引之外创建一个复合索引。因此,如果您要索引 end 和 definition_id,还要创建一个 end-def 索引,其值是 end 和 definition_id 与分隔符连接。

于 2014-07-01T23:14:14.740 回答