Methods
(static) addOrder(key, isAscopt) → {Query}
検索結果のソート条件を指定したプロパティについての昇順、または降順に設定します。第1引数には比較対象となるキー名を指定してください。
第2引数にfalseを指定した場合は降順です。trueを指定した場合は省略した場合は昇順です。
addOrderは複数回呼ぶことで条件を追加できます。
query.addOrder('p1').addOrder('p2', false);
上記のように指定した場合、p1キーで昇順ソートし、p1の値が同じアイテムについてはp2キーで降順ソートします。
Query.setOrderFunctionで比較関数を設定している場合はこのメソッドは呼べません。また逆に、addOrder()で条件を追加している場合にsetOrderFunctionで比較関数を設定することもできません。
addOrder()で追加した条件をすべて削除したい場合はQuery.clearOrderを実行してください。
Parameters:
Name | Type | Attributes | Default | Description |
---|---|---|---|---|
key |
string | |||
isAsc |
boolean |
<optional> |
true | falseを指定すると降順に設定。デフォルトは昇順 |
Returns:
- Type
- Query
- Source:
(static) clearOrder() → {Query}
Query.addOrder及びQuery.setOrderFunctionで設定したソート条件をすべて削除します。
Returns:
- Type
- Query
- Source:
(static) execute() → {QueryResult}
Query.setCriteriaで設定した検索条件で検索し、結果をQueryResultで返します。
また、Query.onQueryCompleteに設定したハンドラが呼ばれます。
Returns:
- Type
- QueryResult
- Source:
(static) onQueryComplete(completeHandler) → {Query}
ハンドラの引数には検索結果(ObserevableArray)が渡されます
Parameters:
Name | Type | Description |
---|---|---|
completeHandler |
function |
Returns:
- Type
- Query
- Source:
(static) setCriteria(criteria) → {Query}
検索の実行(Query.execute)を実行した時に、ここで指定した検索条件オブジェクトに基づいて検索を実行します。
検索条件オブジェクトは、"プロパティ名 (演算子)"をキーにして、比較する値を値に持つオブジェクトを指定します。 複数のプロパティを持つオブジェクトはデフォルトではANDで評価します。
演算子には、===,!==,==,!=,>=,<=,between,!between,in,!inを指定できます。省略した場合は===です。
検索条件オブジェクトに"__op"プロパティを持たせて、値に'or'を記述すると、ORでの評価になります。 ('and'を設定すると記述しない場合と同様ANDでの評価になります。詳細はリファレンス>Criteriaオブジェクトをご覧ください
// 記述例 // categoryが'book'で、nameに'HTML5'を含み、priceが3000未満のアイテムを検索する条件 { category: 'book', name: /HTML5/, 'price <': 3000 } // categoryが'game'または'movie'で、releaseDateが2014年以降のアイテムを検索する条件 { 'category in': ['game', 'movie'], 'relaseDate >=': new Date('2014/1/1') }
Parameters:
Name | Type | Description |
---|---|---|
criteria |
Object | 検索条件オブジェクト |
Returns:
- Type
- Query
- Source:
(static) setOrderFunction(orderFunction) → {Query}
検索結果をソートする比較関数を指定します。データアイテム同士を比較する関数を設定してください。
比較関数の例
query.setOrderFunction(function(a, b) {
// 比較関数の引数はそれぞれデータアイテム。第1引数を先にする場合は正の値、第2引数を先にする場合は負の値を返す
return parseInt(b.get('id')) - parseInt(a.get('id'));
});
単にあるプロパティで昇順あるいは降順にソートしたい場合はQuery.addOrderで設定できます。
Query.addOrderで条件を追加している場合にsetOrderFunctionで比較関数を設定することはできません。また逆に、setOrderFunctionで比較関数を設定している場合はaddOrderは呼べません。
setOrderFunction()で比較設定を設定済みである場合に再度setOrderFunction()を実行すると、設定済みの関数は上書きされます。
setOrderFunction()で設定したソート条件を削除したい場合はQuery.clearOrderを実行してください。
Parameters:
Name | Type | Description |
---|---|---|
orderFunction |
function |
Returns:
- Type
- Query
- Source: