メインコンテンツまでスキップ

Data Provider

NoSQLデータベースからデータを読み込むためのAPIです。 Data Provider APIは、newtQueryを送信すると必要なものが正確に取得されます。 データはJSON形式で取得できます。

Query Parameters
newtQuery boolean REQUIRED

POSTを使用する際は常にfalseと指定してください。POSTの場合はnewtQueryはbodyに記載します。

count boolean

count=trueの場合、NewtQueryに合致するデータの内容を返す代わりにデータの件数を取得します。

Header Parameters
Authorization string REQUIRED

NewtZeroのアカウントで発行されるAPIキーです。

Request Body REQUIRED

NewtQueryを渡します。

NewtQueryについて

NewtQueryはNewtZeroからデータを取得するための書式です。JSONで記載します。APIはこのクエリに基づいてデータを返却します。

取得するテーブルの指定

assetまたはcollectionフィールドを指定指定してください。assetを指定した場合、該当するAsset(仮想テーブル)からデータを取得します。collectionを指定した場合はCollection(RDBでいうテーブルに相当)からデータを取得します。

取得するカラムの指定

取得するカラムはshapeフィールドに指定します。shape内には[取得したいフィールド]:"any"を指定します。ネストされたフィールドは.で指定できます。

例①ECサイトの商品を取得する場合

{
collection: "Item",
skip:0
limit:20,
primaryKey:"id",
shape:{
contents.optdata.non_numeric_item_name:"any",
contents.optdata.non_numeric_item_price:"any"
}
}

複数のテーブルを参照する

NewtQueryではテーブル間の参照も行えます。特定のキーに基づき、データをリレーショナルに紐づけて取得します。 リレーションの指定はshape内で行います。 [取得したいフィールド]:newtQueryを指定することで行います。つまりnewtQueryに入れ子でnewtQueryを指定します。この時、入れ子にするnewtQueryのprimaryKeyrelationKeyにしてください。primaryKeyとrelatoinKeyに応じてデータが紐づけられます。

例②ECサイトの商品にブランドを合わせて取得する場合

{
collection: "Item",
skip:0
limit:20,
primaryKey:"contents.optdata.non_numeric_brand_id",
shape:{
contents.optdata.non_numeric_item_name:"any",
contents.optdata.non_numeric_item_price:"any",
brand_name:{
collection:"Brand",
relationKey:"id",
shape:{
contents.optdata.non_numeric_brand_name: "any"
}
}
}
}
asset string[]

アセットのタグを指定して取得先のアセットを指定します。コレクションがTopData, TxnData, RawDataの場合に使用できます。コレクションまたはアセットは必ず指定してください。

collection string

Mongoのコレクションに対応しています。コレクションまたはアセットは必ず指定してください。RDBでいうテーブルに該当します。

primaryKey string

データのプライマリキーを指定してください。

limit number

データを取得する件数を指定できます。

skip number

データを取得する際に、取得したいデータの開始位置を指定できます。limitと合わせてページネーションに使用します。

order object

ソートクエリです。mongoDBのorderクエリと互換性があります。

search object

mongoのaggregationのマッチクエリ形式で検索条件を指定できます。リレーショナルされたデータに対しては検索がかけられない代わりに速度が高速になります。リレーショナルされたデータに検索条件を指定したい場合は代わりにmatchパラメータを使用してください。

match object

mongoのaggregationのマッチクエリ形式で検索条件を指定できます。リレーショナルの紐付け操作後に検索がかかるため複雑な検索を行えますが速度が遅くなる可能性があります。

shape object

shapeの中には[取りたいフィールド]:"any"と指定することで任意のフィールドを取得します。あるいは"any"の代わりにnewtQueryを入れ子で指定できます。このときprimaryKeyの代わりにrelationKeyフィールドを追加します。これによってprimaryKeyとマッチするデータがリレーショナルに紐づけられます。

Responses
200

NewtQueryに合致したデータをNoSQLデータベースから取得し返します。