オブジェクト検索クラス. [詳細]
#include "necbaas/nb_query.h"
Public メソッド | |
NbQuery () | |
コンストラクタ. [詳細] | |
~NbQuery () | |
デストラクタ. [詳細] | |
template<typename T > | |
NbQuery & | EqualTo (const std::string &key, T value) |
一致条件を追加する. [詳細] | |
template<typename T > | |
NbQuery & | LessThan (const std::string &key, T value) |
小なり条件を追加する. [詳細] | |
template<typename T > | |
NbQuery & | LessThanOrEqual (const std::string &key, T value) |
小なりまたは等しいを追加する. [詳細] | |
template<typename T > | |
NbQuery & | GreaterThan (const std::string &key, T value) |
大なり条件を追加する. [詳細] | |
template<typename T > | |
NbQuery & | GreaterThanOrEqual (const std::string &key, T value) |
大なりまたは等しいを追加する. [詳細] | |
template<typename T > | |
NbQuery & | NotEquals (const std::string &key, T value) |
不一致条件を追加する. [詳細] | |
NbQuery & | In (const std::string &key, const NbJsonArray &array) |
array に指定された値のいずれかと一致する条件を追加する. [詳細] | |
NbQuery & | All (const std::string &key, const NbJsonArray &array) |
array に指定された値がすべて合致する条件を追加する. [詳細] | |
NbQuery & | Regex (const std::string &key, const std::string ®exp, const std::string &options="") |
正規表現一致条件を追加する. [詳細] | |
NbQuery & | Exists (const std::string &key) |
フィールドの存在条件を追加する. [詳細] | |
NbQuery & | NotExists (const std::string &key) |
フィールドの非存在条件を追加する. [詳細] | |
NbQuery & | Not (const std::string &key) |
指定したキーの条件を反転(not)する. [詳細] | |
NbQuery & | Or (const std::vector< NbQuery > queries) |
OR条件を生成する. [詳細] | |
NbQuery & | And (const std::vector< NbQuery > queries) |
AND条件を生成する. [詳細] | |
NbQuery & | OrderBy (const std::vector< std::string > &order) |
ソート条件を設定する. [詳細] | |
NbQuery & | Skip (int skip) |
Skip値を設定する. [詳細] | |
NbQuery & | Limit (int limit) |
Limit値を設定する. [詳細] | |
NbQuery & | DeleteMark (bool delete_mark) |
削除マークされたデータを読み込むフラグを設定する. [詳細] | |
NbQuery & | Projection (const std::map< std::string, bool > &projection) |
プロジェクションを設定する. [詳細] | |
NbQuery & | ReadPreference (NbReadPreference read_preference) |
参照するDBの指定を設定する. [詳細] | |
NbQuery & | Timeout (int timeout) |
クエリタイムアウト(ミリ秒)設定する. [詳細] | |
std::string | GetConditionsString () const |
[内部処理用] [詳細] | |
std::string | GetOrderString () const |
[内部処理用] [詳細] | |
std::string | GetSkipString () const |
[内部処理用] [詳細] | |
std::string | GetLimitString () const |
[内部処理用] [詳細] | |
std::string | GetDeleteMarkString () const |
[内部処理用] [詳細] | |
std::string | GetProjectionString () const |
[内部処理用] [詳細] | |
std::string | GetReadPreferenceString () const |
[内部処理用] [詳細] | |
std::string | GetTimeoutString () const |
[内部処理用] [詳細] | |
const Json::Value & | GetConditions () const |
[内部処理用] [詳細] | |
オブジェクト検索クラス.
クエリ検索を実行する場合に使用する。
本クラスのインスタンスはスレッドセーフではない
necbaas::NbQuery::NbQuery | ( | ) |
コンストラクタ.
necbaas::NbQuery::~NbQuery | ( | ) |
デストラクタ.
NbQuery& necbaas::NbQuery::All | ( | const std::string & | key, |
const NbJsonArray & | array | ||
) |
array に指定された値がすべて合致する条件を追加する.
keyが空文字の場合は無視する。
[in] | key | キー |
[in] | array | Json配列 |
AND条件を生成する.
現在設定されている検索条件と引数の検索条件とのAND条件を生成する。
queriesが空の場合は無視する。
[in] | queries | クエリ |
NbQuery& necbaas::NbQuery::DeleteMark | ( | bool | delete_mark | ) |
削除マークされたデータを読み込むフラグを設定する.
[in] | delete_mark | 削除マークされたデータを読み込むフラグ |
|
inline |
一致条件を追加する.
valueに使用できる型は以下
int, int64_t, double, bool, std::string, NbJsonObject, NbJsonArray
keyが空文字の場合は無視する。
[in] | key | キー |
[in] | value | 値 |
NbQuery& necbaas::NbQuery::Exists | ( | const std::string & | key | ) |
フィールドの存在条件を追加する.
keyが空文字の場合は無視する。
[in] | key | キー |
const Json::Value& necbaas::NbQuery::GetConditions | ( | ) | const |
[内部処理用]
std::string necbaas::NbQuery::GetConditionsString | ( | ) | const |
[内部処理用]
std::string necbaas::NbQuery::GetDeleteMarkString | ( | ) | const |
[内部処理用]
std::string necbaas::NbQuery::GetLimitString | ( | ) | const |
[内部処理用]
std::string necbaas::NbQuery::GetOrderString | ( | ) | const |
[内部処理用]
std::string necbaas::NbQuery::GetProjectionString | ( | ) | const |
[内部処理用]
std::string necbaas::NbQuery::GetReadPreferenceString | ( | ) | const |
[内部処理用]
std::string necbaas::NbQuery::GetSkipString | ( | ) | const |
[内部処理用]
std::string necbaas::NbQuery::GetTimeoutString | ( | ) | const |
[内部処理用]
|
inline |
大なり条件を追加する.
valueに使用できる型は以下
int, int64_t, double, bool, std::string, NbJsonObject, NbJsonArray
keyが空文字の場合は無視する。
[in] | key | キー |
[in] | value | 値 |
|
inline |
大なりまたは等しいを追加する.
valueに使用できる型は以下
int, int64_t, double, bool, std::string, NbJsonObject, NbJsonArray
keyが空文字の場合は無視する。
[in] | key | キー |
[in] | value | 値 |
NbQuery& necbaas::NbQuery::In | ( | const std::string & | key, |
const NbJsonArray & | array | ||
) |
array に指定された値のいずれかと一致する条件を追加する.
keyが空文字の場合は無視する。
[in] | key | キー |
[in] | array | Json配列 |
|
inline |
小なり条件を追加する.
valueに使用できる型は以下
int, int64_t, double, bool, std::string, NbJsonObject, NbJsonArray
keyが空文字の場合は無視する。
[in] | key | キー |
[in] | value | 値 |
|
inline |
小なりまたは等しいを追加する.
valueに使用できる型は以下
int, int64_t, double, bool, std::string, NbJsonObject, NbJsonArray
keyが空文字の場合は無視する。
[in] | key | キー |
[in] | value | 値 |
NbQuery& necbaas::NbQuery::Limit | ( | int | limit | ) |
Limit値を設定する.
設定可能な値は -1 から 100 の整数値。範囲外の値が設定された場合は、リクエストパラメータに設定されない。
[in] | limit | 検索上限数 |
NbQuery& necbaas::NbQuery::Not | ( | const std::string & | key | ) |
指定したキーの条件を反転(not)する.
keyが空文字の場合は無視する。
[in] | key | キー |
|
inline |
不一致条件を追加する.
valueに使用できる型は以下
int, int64_t, double, bool, std::string, NbJsonObject, NbJsonArray
keyが空文字の場合は無視する。
[in] | key | キー |
[in] | value | 値 |
NbQuery& necbaas::NbQuery::NotExists | ( | const std::string & | key | ) |
フィールドの非存在条件を追加する.
keyが空文字の場合は無視する。
[in] | key | キー |
OR条件を生成する.
現在設定されている検索条件と引数の検索条件とのOR条件を生成する。
queriesが空の場合は無視する。
[in] | queries | クエリ |
NbQuery& necbaas::NbQuery::OrderBy | ( | const std::vector< std::string > & | order | ) |
ソート条件を設定する.
デフォルトは昇順。逆順にする場合はキー名の先頭に "-" を付加。
orderが空、orderリストの中に空文字が含まれている場合は全てのソート条件を設定しない。
[in] | order | ソートキー |
NbQuery& necbaas::NbQuery::Projection | ( | const std::map< std::string, bool > & | projection | ) |
プロジェクションを設定する.
取得したいフィールド名を列挙する。
フィールド名と列挙・抑制フラグのペアのmapで設定する。
列挙・抑制を混在させることはできない。例外として、_id のみを抑制することは可能。
projectionが空、projectionマップの中に空文字が含まれている場合は全てのプロジェクションが設定されない。
[in] | limit | 検索上限数 |
NbQuery& necbaas::NbQuery::ReadPreference | ( | NbReadPreference | read_preference | ) |
参照するDBの指定を設定する.
[in] | read_preference | 参照するDBの指定 |
NbQuery& necbaas::NbQuery::Regex | ( | const std::string & | key, |
const std::string & | regexp, | ||
const std::string & | options = "" |
||
) |
正規表現一致条件を追加する.
オプション文字列には以下の文字の組み合わせを指定できる。
[in] | key | キー |
[in] | regexp | 正規表現 |
[in] | options | オプション |
NbQuery& necbaas::NbQuery::Skip | ( | int | skip | ) |
Skip値を設定する.
負数を指定した場合は、リクエストパラメータに設定されない。
[in] | skip | 検索スキップ数 |
NbQuery& necbaas::NbQuery::Timeout | ( | int | timeout | ) |
クエリタイムアウト(ミリ秒)設定する.
0以下が設定された場合には、リクエストパラメータに設定されない。
[in] | timeout | クエリタイムアウト(ミリ秒) |