NEC mBaaS Embedded SDK  6.2.0
 全て クラス ネームスペース ファイル 関数 変数 列挙型 列挙型の値
Public メソッド | すべてのメンバ一覧
クラス necbaas::NbQuery

オブジェクト検索クラス. [詳細]

#include "necbaas/nb_query.h"

Public メソッド

 NbQuery ()
 コンストラクタ. [詳細]
 
 ~NbQuery ()
 デストラクタ. [詳細]
 
template<typename T >
NbQueryEqualTo (const std::string &key, T value)
 一致条件を追加する. [詳細]
 
template<typename T >
NbQueryLessThan (const std::string &key, T value)
 小なり条件を追加する. [詳細]
 
template<typename T >
NbQueryLessThanOrEqual (const std::string &key, T value)
 小なりまたは等しいを追加する. [詳細]
 
template<typename T >
NbQueryGreaterThan (const std::string &key, T value)
 大なり条件を追加する. [詳細]
 
template<typename T >
NbQueryGreaterThanOrEqual (const std::string &key, T value)
 大なりまたは等しいを追加する. [詳細]
 
template<typename T >
NbQueryNotEquals (const std::string &key, T value)
 不一致条件を追加する. [詳細]
 
NbQueryIn (const std::string &key, const NbJsonArray &array)
 array に指定された値のいずれかと一致する条件を追加する. [詳細]
 
NbQueryAll (const std::string &key, const NbJsonArray &array)
 array に指定された値がすべて合致する条件を追加する. [詳細]
 
NbQueryRegex (const std::string &key, const std::string &regexp, const std::string &options="")
 正規表現一致条件を追加する. [詳細]
 
NbQueryExists (const std::string &key)
 フィールドの存在条件を追加する. [詳細]
 
NbQueryNotExists (const std::string &key)
 フィールドの非存在条件を追加する. [詳細]
 
NbQueryNot (const std::string &key)
 指定したキーの条件を反転(not)する. [詳細]
 
NbQueryOr (const std::vector< NbQuery > queries)
 OR条件を生成する. [詳細]
 
NbQueryAnd (const std::vector< NbQuery > queries)
 AND条件を生成する. [詳細]
 
NbQueryOrderBy (const std::vector< std::string > &order)
 ソート条件を設定する. [詳細]
 
NbQuerySkip (int skip)
 Skip値を設定する. [詳細]
 
NbQueryLimit (int limit)
 Limit値を設定する. [詳細]
 
NbQueryDeleteMark (bool delete_mark)
 削除マークされたデータを読み込むフラグを設定する. [詳細]
 
NbQueryProjection (const std::map< std::string, bool > &projection)
 プロジェクションを設定する. [詳細]
 
NbQueryReadPreference (NbReadPreference read_preference)
 参照するDBの指定を設定する. [詳細]
 
NbQueryTimeout (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]arrayJson配列
戻り値
this
NbQuery& necbaas::NbQuery::And ( const std::vector< NbQuery queries)

AND条件を生成する.

現在設定されている検索条件と引数の検索条件とのAND条件を生成する。
queriesが空の場合は無視する。

引数
[in]queriesクエリ
戻り値
this
NbQuery& necbaas::NbQuery::DeleteMark ( bool  delete_mark)

削除マークされたデータを読み込むフラグを設定する.

引数
[in]delete_mark削除マークされたデータを読み込むフラグ
戻り値
this
template<typename T >
NbQuery& necbaas::NbQuery::EqualTo ( const std::string &  key,
value 
)
inline

一致条件を追加する.

valueに使用できる型は以下
int, int64_t, double, bool, std::string, NbJsonObject, NbJsonArray
keyが空文字の場合は無視する。

引数
[in]keyキー
[in]value
戻り値
this
NbQuery& necbaas::NbQuery::Exists ( const std::string &  key)

フィールドの存在条件を追加する.

keyが空文字の場合は無視する。

引数
[in]keyキー
戻り値
this
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

[内部処理用]

template<typename T >
NbQuery& necbaas::NbQuery::GreaterThan ( const std::string &  key,
value 
)
inline

大なり条件を追加する.

valueに使用できる型は以下
int, int64_t, double, bool, std::string, NbJsonObject, NbJsonArray
keyが空文字の場合は無視する。

引数
[in]keyキー
[in]value
戻り値
this
template<typename T >
NbQuery& necbaas::NbQuery::GreaterThanOrEqual ( const std::string &  key,
value 
)
inline

大なりまたは等しいを追加する.

valueに使用できる型は以下
int, int64_t, double, bool, std::string, NbJsonObject, NbJsonArray
keyが空文字の場合は無視する。

引数
[in]keyキー
[in]value
戻り値
this
NbQuery& necbaas::NbQuery::In ( const std::string &  key,
const NbJsonArray array 
)

array に指定された値のいずれかと一致する条件を追加する.

keyが空文字の場合は無視する。

引数
[in]keyキー
[in]arrayJson配列
戻り値
this
template<typename T >
NbQuery& necbaas::NbQuery::LessThan ( const std::string &  key,
value 
)
inline

小なり条件を追加する.

valueに使用できる型は以下
int, int64_t, double, bool, std::string, NbJsonObject, NbJsonArray
keyが空文字の場合は無視する。

引数
[in]keyキー
[in]value
戻り値
this
template<typename T >
NbQuery& necbaas::NbQuery::LessThanOrEqual ( const std::string &  key,
value 
)
inline

小なりまたは等しいを追加する.

valueに使用できる型は以下
int, int64_t, double, bool, std::string, NbJsonObject, NbJsonArray
keyが空文字の場合は無視する。

引数
[in]keyキー
[in]value
戻り値
this
NbQuery& necbaas::NbQuery::Limit ( int  limit)

Limit値を設定する.

設定可能な値は -1 から 100 の整数値。範囲外の値が設定された場合は、リクエストパラメータに設定されない。

引数
[in]limit検索上限数
戻り値
this
NbQuery& necbaas::NbQuery::Not ( const std::string &  key)

指定したキーの条件を反転(not)する.

keyが空文字の場合は無視する。

引数
[in]keyキー
戻り値
this
template<typename T >
NbQuery& necbaas::NbQuery::NotEquals ( const std::string &  key,
value 
)
inline

不一致条件を追加する.

valueに使用できる型は以下
int, int64_t, double, bool, std::string, NbJsonObject, NbJsonArray
keyが空文字の場合は無視する。

引数
[in]keyキー
[in]value
戻り値
this
NbQuery& necbaas::NbQuery::NotExists ( const std::string &  key)

フィールドの非存在条件を追加する.

keyが空文字の場合は無視する。

引数
[in]keyキー
戻り値
this
NbQuery& necbaas::NbQuery::Or ( const std::vector< NbQuery queries)

OR条件を生成する.

現在設定されている検索条件と引数の検索条件とのOR条件を生成する。
queriesが空の場合は無視する。

引数
[in]queriesクエリ
戻り値
this
NbQuery& necbaas::NbQuery::OrderBy ( const std::vector< std::string > &  order)

ソート条件を設定する.

デフォルトは昇順。逆順にする場合はキー名の先頭に "-" を付加。

// 例) key1昇順、key2降順でソートする場合
std::vector<std::string> order_by{"key1", "-key2"};
query.OrderBy(order_by);
*

orderが空、orderリストの中に空文字が含まれている場合は全てのソート条件を設定しない。

引数
[in]orderソートキー
戻り値
this
NbQuery& necbaas::NbQuery::Projection ( const std::map< std::string, bool > &  projection)

プロジェクションを設定する.

取得したいフィールド名を列挙する。
フィールド名と列挙・抑制フラグのペアのmapで設定する。
列挙・抑制を混在させることはできない。例外として、_id のみを抑制することは可能。

// 例1) name のみを含める場合
map["name"] = true;
query.Projection(map);
// 例2) address のみを除外する場合
map["address"] = false;
query.Projection(map);
// 例3) name を含め、_id を除外する場合
map["name"] = true;
map["_id"] = false;
query.Projection(map);
*

projectionが空、projectionマップの中に空文字が含まれている場合は全てのプロジェクションが設定されない。

引数
[in]limit検索上限数
戻り値
this
NbQuery& necbaas::NbQuery::ReadPreference ( NbReadPreference  read_preference)

参照するDBの指定を設定する.

引数
[in]read_preference参照するDBの指定
戻り値
this
NbQuery& necbaas::NbQuery::Regex ( const std::string &  key,
const std::string &  regexp,
const std::string &  options = "" 
)

正規表現一致条件を追加する.

オプション文字列には以下の文字の組み合わせを指定できる。

  • i: 大文字小文字を区別しない
  • m: 複数行にマッチする
  • x: 拡張正規表現を使用する
  • s: '.' が改行に一致する key, regexpが空文字の場合は無視する。
    引数
    [in]keyキー
    [in]regexp正規表現
    [in]optionsオプション
    戻り値
    this
NbQuery& necbaas::NbQuery::Skip ( int  skip)

Skip値を設定する.

負数を指定した場合は、リクエストパラメータに設定されない。

引数
[in]skip検索スキップ数
戻り値
this
NbQuery& necbaas::NbQuery::Timeout ( int  timeout)

クエリタイムアウト(ミリ秒)設定する.

0以下が設定された場合には、リクエストパラメータに設定されない。

引数
[in]timeoutクエリタイムアウト(ミリ秒)
戻り値
this

このクラスの説明は次のファイルから生成されました: