mBaaSお役立ちブログ

Googleスプレッドシート用NCMBライブラリで検索条件を追加しました

Googleスプレッドシートなどで使えるNCMBライブラリのデータストアにて検索オペランドを追加しました。基本的にはJavaScript SDKの踏襲になります。

  • 同じ値:equalTo
    一番基本的な検索条件です。
  • 同じ値ではない:notEqualTo
    equalToの逆です。
  • 未満:lessThan
    指定した数値未満のデータを検索します。
  • 以下:lessThanOrEqualTo
    指定した値も含み、それより小さいデータを検索します。
  • より大きい:greaterThan
    指定した値を含まず、それより大きいデータを検索します。
  • 以上:greaterThanOrEqualTo
    指定した値を含み、それより大きいデータを検索します。
  • 値を含む:include
    指定した値を含むデータを検索します。値は配列で渡します。
  • 値を含まない:exclude
    指定した値を含まないデータを検索します。値は配列で渡します。
  • 存在する:exists
    データのあるなしで検索できます。trueを指定すればあり、falseを指定すればデータが存在しないものを検索します。
  • 正規表現:regularExpressionTo
    正規表現を用いて検索します。条件は文字列で指定します。
  • 配列で指定した値を含む:inArray
    includeと似ていますが、対象が配列のカラムの場合はこちらになります。
  • 配列で指定した値を含まない:ninArray
    excludeと似ていますが、対象が配列のカラムの場合はこちらになります。
  • 配列の一致:allInArray
    条件で指定した配列の値すべて含むデータを検索します。
  • 近いデータ:near
    指定した位置に近いデータを検索します。
  • 指定範囲(km)内の検索:withinKilometers
    指定した位置情報、指定した範囲(km)内にあるデータを検索します。
  • 指定範囲(マイル)内の検索:withinMiles
    指定した位置情報、指定した範囲(マイル)内にあるデータを検索します。
  • 指定範囲(rad)内の検索:withinRadians
    指定した位置情報、指定した範囲(rad)内にあるデータを検索します。
  • 2点内データの検索:withinSquare
    指定した2つの位置情報内にあるデータを検索します。

例えば正規表現の検索は次のようになります。

var results = dataTest.regularExpressionTo("hello", ".*?world.*?").fetchAll();
if (!results.code) {
  Logger.log(results[0]);
}else{
  Logger.log("Error");
  Logger.log(results);
}

注意点

現在位置情報クラスを提供していませんので、nearなどを使う場合は直接JSONを渡す必要があります。

使い方

Googleスプレッドシートなどのスクリプトエディタにて、ライブラリID「1yWnb7GfYsBCR-MZvi6r-TOYv_y-AV4le5P7kaG5B3iZ5VNnSk9Q55pSJ」を登録してください。

次にNCMBを初期化します。アプリケーションキー、クライアントキーはそれぞれ置き換えてください。後は概ねJavaScript SDKを踏襲して作成されています。

// NCMBの準備
var application_key = 'YOUR_APPLICATION_KEY';
var client_key      = 'YOUR_CLIENT_KEY';

var ncmb = NCMB.init(application_key, client_key);
var dataTest = ncmb.DataStore("dataTest");

複雑な検索もできるようになりましたので、一部のデータだけをGoogleスプレッドシートにコピーすることもできます。データの分析などに役立ててください。

バックナンバー