new ObjectQuery()
オブジェクトクエリを生成する
Example
var query = new Nebula.ObjectQuery();
Methods
-
clearSortOrder(key)
-
設定したソート順序をクリアする。
Deprecated である。ObjectQuery#setSort を使用すること。
Parameters:
Name Type Description key
string クリアするソート対象のキー。省略時は全キーをクリアする。
- Deprecated:
-
- since 6.5.0
Returns:
this
- Type
- ObjectQuery
Example
var clause = Nebula.Clause.lessThan("score", 50); var query = new Nebula.ObjectQuery() .setClause(clause) .setLimit(10) .setSkipCount(5) .setSortOrder("name", true); .... query.clearSortOrder("name");
-
getClause()
-
設定されているClauseインスタンスを取得する
Returns:
clause
- Type
- Clause
-
getLimit()
-
設定されている検索上限数を取得する
Returns:
検索上限数
- Type
- number
-
getProjection()
-
設定されているプロジェクションを取得する
Returns:
プロジェクション
- Type
- Object
-
getSkipCount()
-
設定されているスキップカウントを取得する
Returns:
スキップカウント
- Type
- number
-
getSort()
-
設定されているソート順序を取得する。 ソート順序は以下のようなキー文字列の配列。降順の場合はキーの先頭が "-" となる。
["key1", "-key2"]
- Since:
-
- 6.5.0
Returns:
- Type
- Array.<string>
-
getSortOrder()
-
設定されているソート順序を取得する。
Deprecated である。ObjectQuery#getSort を使用すること。
ソート順序は以下のように {キー名: 昇順フラグ} の配列。
[{"key1": true}, {"key2": false}]
- Deprecated:
-
- since 6.5.0
Returns:
ソート順序
- Type
- array
-
setClause(clause)
-
検索条件を設定する
Parameters:
Name Type Description clause
Clause Nebula.Clauseインスタンス
null を指定した場合は、すでに設定済みの検索条件をクリアする。
再度、本メソッドを呼び出した場合、検索条件は上書きされる。
デフォルトでは、null が設定されている。Returns:
this
- Type
- ObjectQuery
Example
var clause = Nebula.Clause.lessThan("score", 50); var query = new Nebula.ObjectQuery(); query.setClause(clause);
-
setLimit(limit)
-
検索上限数を設定する
Parameters:
Name Type Description limit
number 検索上限数。
-1 以上の値を指定できる。 -1を設定した場合は「制限なし」となる。 ただし、サーバ側のコンフィグレーションによっては、上限値が制限されている場合がある。この場合、クエリを実行するとサーバからエラーが返る。 デフォルトでは、-1 が設定されている。
範囲外の値が設定された場合は、例外をスローする。
Returns:
this
- Type
- ObjectQuery
Example
var clause = Nebula.Clause.lessThan("score", 50); var query = new Nebula.ObjectQuery() .setClause(clause) .setLimit(10);
-
setProjection(projectionJson)
-
プロジェクションを指定する。
Parameters:
Name Type Description projectionJson
Object
null を指定した場合は、すでに設定済みの値をクリアする。
再度、本メソッドを呼び出した場合は上書きされる。
デフォルトでは、null が設定されている。Returns:
this
- Type
- ObjectQuery
Example
var clause = Nebula.Clause.lessThan("score", 50); var projection = {"score":1}; var query = new Nebula.ObjectQuery(); query.setClause(clause); query.setProjection(projection);
-
setSkipCount(skip)
-
スキップカウントを設定する。
スキップカウントは検索結果の先頭からのスキップ数を表す。
Parameters:
Name Type Description skip
number スキップカウント
skip は、0以上の値が設定可能である。 範囲外の値が設定された場合は、例外をスローする。 デフォルトでは、0 が設定されている。
Returns:
this
- Type
- ObjectQuery
Example
// この例では検索結果の5件目から10件を取得する。 var clause = Nebula.Clause.lessThan("score", 50); var query = new Nebula.ObjectQuery() .setClause(clause) .setLimit(10) .setSkipCount(5);
-
setSort(sort)
-
ソート順序を設定する。
Parameters:
Name Type Description sort
Array.<string> ソートキーの配列。 先に指定したものが高優先となる。
それぞれデフォルトは昇順。降順の場合は先頭に "-" を付与する。
- Since:
-
- 6.5.0
Returns:
this
- Type
- ObjectQuery
Example
var query = new Nebula.ObjectQuery() .setSort(["key1", "-key2"]);
-
setSortOrder(key, isAsc)
-
ソート順序を設定する。
本メソッドはDeprecated である。ObjectQuery#setSort を使用すること。
複数のキーを設定する場合は、本メソッドを複数呼び出す。 先に設定したキーのほうが優先順位が高い。
ソート順序をクリアするには ObjectQuery#clearSortOrder を使用する。
Parameters:
Name Type Description key
string ソート対象のキー
isAsc
boolean 昇順でソートするかどうかを示す。昇順はtrue, 降順はfalse。
- Deprecated:
-
- since 6.5.0
Returns:
this
- Type
- ObjectQuery
Example
// 以下の例では、score降順 -> name昇順で検索する var query = new Nebula.ObjectQuery() .setSortOrder("score", false) .setSortOrder("name", true);