NoSQLアイテムの構築
Catalyst NoSQLのアイテムは、単一のデータポイント(レコードのようなもの)のデータを保持する属性のコレクションを表します。プロジェクト内の既存のNoSQLテーブルに、カスタムJSON形式でアイテムを挿入または更新できます。ただし、Catalystでアイテムを挿入または更新する前に、アイテムを構築する必要があります。
以下のセクションで説明するように、Catalystがサポートするさまざまなデータ型の属性を含むNoSQLアイテムを構築できます。Catalystは、String、Number、Set of Strings、Set of Numbers、List、Mapなど、いくつかのデータ型をサポートしています。サポートされているデータ型の完全なリストを参照してください。
テーブルに設定したパーティションキー属性の値は、すべてのデータアイテムで必ず提供する必要があります。テーブルキー、TTL属性、その他の詳細については、テーブルキーのヘルプセクションを参照してください。
新しいNoSQLアイテムの作成
以下に示すように、zcatalyst-sdk-nodeパッケージの一部であるno-sqlライブラリをrequireした後、NoSQLItem()メソッドを使用して新しいNoSQLアイテムを作成できます。
const { NoSQLItem } = require('zcatalyst-sdk-node/lib/no-sql');
const item = new NoSQLItem() // 新しいNoSQLアイテムを作成
文字列のNoSQLアイテムの構築
以下の例では、文字列値とネストされたJSON属性colorをMapとして含むアイテムを構築します。
const { NoSQLItem } = require('zcatalyst-sdk-node/lib/no-sql');
const item = new NoSQLItem() // 新しいNoSQLアイテムを作成
// 文字列値を追加する
.addString('fruit', 'mango')
// マップを追加する
.addMap('properties', {
color: 'yellow'
});
NoSQLバイトの構築
バイトのシーケンスを表すために使用されるバッファオブジェクトを作成し、Binaryデータ型の値を格納するNoSQLバイトを作成できます。以下に示すように、生のバイナリデータバッファを表すArrayBuffersオブジェクトを使用するか、ASCII形式でバイナリデータを表すBase64文字列から、2つの方法でバイトを作成できます。
const { NoSQLByte } = require('zcatalyst-sdk-node/lib/no-sql');
// NoSQL Byteを作成する
const buff = Buffer.from('Hello world !!!'); // バッファオブジェクトを作成
const byte = new NoSQLByte(buff); // ArrayBuffersオブジェクトを使用してNoSQLバイトを作成
const byteA = new NoSQLByte(buff.toString('base64')); // Base64文字列からNoSQLバイトを作成
NoSQLバイトセットの構築
Catalystでは、バイトのシーケンスを表すために使用されるバッファオブジェクトを作成し、Set of Binaryデータ型のバイナリ値のコレクションを格納するNoSQLバイトセットを作成できます。生のバイナリデータバッファを表すArrayBuffersオブジェクトを使用するか、ASCII形式でバイナリデータを表すBase64文字列からバイトセットを作成できます。
また、構築済みのバイトをバイト配列として渡すことで、バイトセットを作成することもできます。
const { NoSQLByte, NoSQLByteSet } = require('zcatalyst-sdk-node/lib/no-sql');
// NoSQL Byte Setを作成する
const buff = Buffer.from('Hello world !!!'); // バッファオブジェクトを作成
const byte = new NoSQLByte(buff); // ArrayBuffersオブジェクトを使用してNoSQLバイトを作成
const byteA = new NoSQLByte(buff.toString('base64')); // Base64文字列からNoSQLバイトを作成
const byteSet = new NoSQLByteSet([byte, byteA]); // NoSQLバイト配列からNoSQLバイトセットを作成
const byteSetA = new NoSQLByteSet([buff.toString('base64')]); // NoSQL Byteを作成する set from a Base64 string array
const byteSetB = new NoSQLByteSet([buff]); // NoSQL Byteを作成する set using the ArrayBuffers object
NoSQL文字列セットの構築
以下に示すように、文字列配列からSet of Stringデータ型のNoSQL文字列セットを作成できます。
const { NoSQLStringSet } = require('zcatalyst-sdk-node/lib/no-sql');
// NoSQL string setを作成する
const stringSet = new NoSQLStringSet(['hello', 'world']); // NoSQL string setを作成する from a string array
NoSQL数値セットの構築
以下に示すように、数値またはBigInt値の配列からSet of Numbersデータ型のNoSQL数値セットを作成できます。
const { NoSQLNumberSet } = require('zcatalyst-sdk-node/lib/no-sql');
// NoSQL number setを作成する
const numberSet = new NoSQLNumberSet([123, 1234n]); // 数値またはBigInt値の配列からNoSQL数値セットを作成
NoSQLアイテムの操作
Catalystでは、NoSQLアイテムに対して、プレーンJavaScriptオブジェクトからNoSQLアイテムを作成する、またはその逆の操作などの操作を実行できます。アイテムのデータを標準JSON形式で含むプレーンJavaScriptオブジェクトを構築して、NoSQLアイテムを作成できます。以下のサンプルコードに示すように、NoSQLItem.from()を使用してJSオブジェクトからNoSQLアイテムを構築できます。
また、コードに示すように、itemFromObj.to()を使用してNoSQLアイテムをプレーンJavaScriptオブジェクトに戻すこともできます。
const { NoSQLItem } = require('zcatalyst-sdk-node/lib/no-sql');
// オブジェクトを定義する
const obj = {
fruit: 'apple', // パーティションキー
properties: {
color: 'red'
}
};
const itemFromObj = NoSQLItem.from(obj); // プレーンJSオブジェクトからNoSQLアイテムを構築
const plainJsObject = itemFromObj.to(); // アイテムをプレーンJSオブジェクトに変換
最終更新日 2026-03-30 13:40:30 +0530 IST
Yes
No
Send your feedback to us