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

手順

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

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_category IN / NOT IN categoryA","categoryB"]
item_category = / != 変数名 category
item_category IN / 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);
});