Как реализовать И-условие в ydn db?

Мне нужна помощь в ydn db. Моя проблема заключается в следующем: как я могу получить записи по 2 условиям? В sql это будет:

"SELECT * FROM store WHERE name='Test' AND cool=1;"

В настоящее время моя попытка выглядит так:

var keyRange = ydn.db.KeyRange.bound(['Test', true]);

var db = DB.getDatabase();

database
.get('personStore', 'name, cool', keyRange)
.done(function(records) {
    console.log(records);
});

Заранее спасибо :-)


person Developer89    schedule 04.03.2014    source источник


Ответы (1)


Как обсуждалось на этой странице, вы можете использовать составной индекс (как вы это делали ) или ключевое соединение. Если вы индексируете ['name', 'cool'], вы должны иметь возможность запрашивать ydn.db.KeyRange.only(['Test', 1]). Обратите внимание, что логическое значение не является допустимым ключом. Даже если cool является логическим значением, вы должны индексировать его как целочисленное значение. Но я предлагаю индексировать только name и просто запросить имя и отфильтровать значение cool в наборе результатов.

person Kyaw Tun    schedule 04.03.2014
comment
Что мне больше всего помогло в этом посте, так это то, что логические значения нельзя использовать в качестве индексных ключей. Я бы предложил обновить документацию, чтобы сделать это более понятным, если это возможно. :) - person jmort253; 13.06.2014