Class: ObjectQuery

ObjectQuery

オブジェクトクエリ


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);