Как использовать выбор "И" с помощью Riak.js / Riak?
Я пытаюсь определить наличие объекта, чтобы решить, создавать ли новый объект с новым 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, я бы тоже за это поиграл, просто не могу найти его в документации.
Благодарю.
1 ответ
Вторичная индексация Riak не поддерживает одновременный запрос 2 индексов, вам нужно будет запрашивать каждый индекс отдельно и затем пересекать результирующие наборы.
Однако, если вам нужно регулярно запрашивать одну и ту же пару индексов, вы можете создать составной индекс в дополнение к другим. Так что, если вы индексируете, end и definition_id, также создайте индекс end-def, значениями которого являются end и definition_id, объединенные с разделителем.