アクションテーブルクエリを作成する

アクションテーブルクエリを作成することで、「主キーの一致以外の条件でアクションテーブルにアクションから問い合わせること」が可能になります。

手順

  • アクションテーブルの「クエリ」タブで、クエリを「新規作成」する
  • 「クエリ名」を指定する
    • 名称には英小文字 + 数字 + _(アンダースコア)のみ使用可能です
  • 「条件を設定」をする
  • 「有効化」する
    • 有効化が完了するまでに少し時間がかかります

🚧

クエリの作成数の上限

1テーブルにつき、5つのクエリが作成可能です

設定可能な条件

アクションテーブルクエリでは、以下の項目を組み合わせて条件を設定できます。

条件説明
Limit取得するレコード数の上限を設定します。最大100レコードまで取得できます。
Filterレコードの抽出条件を設定します。複数指定した場合は、AND条件になります。
単純な一致/不一致以外にも、数値のフィールドであれば「大小比較」、文字列のフィールドであれば「IN」や「NOT IN」などを選ぶことができます。
Sort取得レコードの並び順を、「昇順」「降順」から選択できます。
Projection取得レコードに含めるカラムを、複数選択で入力できます。

🚧

FilterでDATE型を利用する場合

値はUNIXタイムスタンプ(13桁のミリ秒単位)を指定してください。

Filter条件内でパラメータを利用する

Filter条件の「入力タイプ」に「変数名」を指定すると、右辺の値は配信時にアクションから渡された実際のパラメータ値で置換されます。
INNOT INを指定した場合、呼び出し側ではパラメータに配列を渡してください。また、10要素まで指定可能です。

Filterの設定例

カラム名演算子入力タイプ値/変数名
item_category= / !=categoryA
item_categoryIN / NOT IN["categoryA","categoryB"]
item_category= / !=変数名category
item_categoryIN / NOT IN変数名categories

JavaScriptの記述例

// 「= / !=」の場合
var table = widget.collection('v2/actiontable001');
var params = { categories: 'categoryA'};// 1つのパラメータを指定
table.getByQuery('query001', params, function(err, items){
    if (err) return console.log('err: ' + err);
    console.log('items: ', items);
});

// 「IN / NOT IN」の場合
var table = widget.collection('v2/actiontable001');
var params = { categories: ['categoryA','categoryB'] };// パラメータを配列で指定
table.getByQuery('query001', params, function(err, items){
    if (err) return console.log('err: ' + err);
    console.log('items: ', items);
});