NoSQLテーブルのアイテムを更新
Catalystでは、アイテムを構築した後、特定のNoSQLテーブルのアイテムを更新できます。アイテムはプライマリキーを使用して識別されます。例えば、パーティションキーのみ、またはパーティションキーとソートキーの組み合わせを使用してアイテムを識別できます。その後、適切なHTTPリクエストメソッドで更新操作の種類を定義し、アイテムで更新する属性と値を指定します。
データを更新する方法は2つあります。ZCNoSQLTableインスタンスを使用して条件なしでデータを更新するか、リクエストの各部分を構築するために使用できるZCNoSQLUpdateHelperインスタンスを使用して更新できます。
以下に示すように、ZCNoSQLTableインスタンスでデータを更新できます。
//public ZCNoSQLResponseBean update(ZCNoSQLItem item, ZCNoSQLUpdateAttributeOperation updateAttributeOperation) throws Exception;
table.update(<ZCNoSQLItem>, <ZCNoSQLUpdateAttributeOperation>);
ZCNoSQLUpdateHelperで更新する場合
ZCNoSQLUpdateHelper
//public ZCNoSQLInsertHelper getInsertHelper(ZCNoSQLItem item) throws Exception;
//public ZCNoSQLResponseBean insert() throws Exception;
table.getUpdateHelper(<ZCNoSQLItem>, <ZCNoSQLUpdateAttributeOperation>).update();
ZCNoSQLUpdateAttributeOperation
このクラスは、既存の属性を追加/更新するか、既存の属性を削除してアイテムを更新するために使用されます。上記のインスタンスは以下のメソッドを使用して取得できます。
属性の挿入または更新の場合
//ZCNoSQLUpdateAttributeOperation(ZCNoSQLAttribute attribute, ZCNoSQLValue updateValue);
//ZCNoSQLUpdateAttributeOperation(ZCNoSQLAttribute attribute, NoSQLUpdateAttributeFunction updateFunction);
//public static ZCNoSQLUpdateAttributeOperation getPutAttributeInstance(ZCNoSQLAttribute attribute, ZCNoSQLValue updateValue);
// public static ZCNoSQLUpdateAttributeOperation getPutAttributeInstance(ZCNoSQLAttribute attribute, NoSQLUpdateAttributeFunction updateFunction);
new ZCNoSQLUpdateAttributeOperation(<ZCNoSQLAttribute>, <ZCNoSQLValue>);
new ZCNoSQLUpdateAttributeOperation(<ZCNoSQLAttribute>, <NoSQLUpdateAttributeFunction>);
ZCNoSQLUpdateAttributeOperation.getPutAttributeInstance(<ZCNoSQLAttribute>, <ZCNoSQLValue>);
ZCNoSQLUpdateAttributeOperation.getPutAttributeInstance(<ZCNoSQLAttribute>, <NoSQLUpdateAttributeFunction>)
属性の削除の場合
//ZCNoSQLUpdateAttributeOperation(ZCNoSQLAttribute attribute);
//public static ZCNoSQLUpdateAttributeOperation getDeleteAttributeInstance(ZCNoSQLAttribute attribute);
new ZCNoSQLUpdateAttributeOperation(<ZCNoSQLAttribute>);
ZCNoSQLUpdateAttributeOperation.getDeleteAttributeInstance(<ZCNoSQLAttribute>);
更新には、値を更新するために使用できる特定のビルトイン関数もあります。これらの関数はNoSQLUpdateAttributeFunction型の下にグループ化でき、ZCNoSQLUpdateAttributeOperationインスタンスの取得時に使用できます。
NoSQLUpdateAttributeFunction
4つのビルトイン関数があります。
ZCNoSQLIfNotExistFunction
この関数は、別の既存の属性の値で属性を更新するために使用されます。属性が存在しない場合、指定された値で更新されます。
//public ZCNoSQLIfNotExistFunction(ZCNoSQLAttribute attribute, ZCNoSQLValue value)
//public static ZCNoSQLIfNotExistFunction getInstance(ZCNoSQLAttribute attribute, ZCNoSQLValue value);
new ZCNoSQLIfNotExistFunction(<ZCNoSQLAttribute>, <ZCNoSQLValue>)
ZCNoSQLIfNotExistFunction.getInstance(<ZCNoSQLAttribute>, <ZCNoSQLValue>)
ZCNoSQLAppendListFunction
この関数は、既存または新しいリスト属性に要素を追加するために使用されます。
//public ZCNoSQLAppendListFunction(ZCNoSQLValue...values);
//public static ZCNoSQLAppendListFunction getInstance(ZCNoSQLValue...values);
new ZCNoSQLAppendListFunction(<List of ZCNoSQLValue>)
ZCNoSQLAppendListFunction.getInstance(<List of ZCNoSQLValue>)
ZCNoSQLAdditionFunction
この関数は、セットに要素を追加するか、既存の属性に数値を加算するために使用されます。操作の種類は対象の属性タイプによって異なります。
//public ZCNoSQLAdditionFunction(ZCNoSQLAttribute attribute, ZCNoSQLValue value);
//public static ZCNoSQLAdditionFunction getInstance(ZCNoSQLAttribute attribute, ZCNoSQLValue value);
new ZCNoSQLAdditionFunction(<ZCNoSQLAttribute>, <ZCNoSQLValue>)
ZCNoSQLAdditionFunction.getInstance(<ZCNoSQLAttribute>, <ZCNoSQLValue>)
ZCNoSQLReductionFunction
この関数は、セットから要素を削除するか、既存の属性から数値を減算するために使用されます。操作の種類は対象の属性タイプによって異なります。
//public ZCNoSQLReductionFunction(ZCNoSQLAttribute attribute, ZCNoSQLValue value) throws Exception;
//public static ZCNoSQLReductionFunction getInstance(ZCNoSQLAttribute attribute, ZCNoSQLValue value) throws Exception;
new ZCNoSQLReductionFunction(<ZCNoSQLAttribute>, <ZCNoSQLValue>)
ZCNoSQLReductionFunction.getInstance(<ZCNoSQLAttribute>, <ZCNoSQLValue>)
ZCNoSQLUpdateHelperで利用可能なその他のメソッド
ZCNoSQLCondition
上記で説明した同じ条件を更新にも再利用できます。
NOSQL_RETURN_VALUE
上記で説明した同じ戻り値を更新にも再利用できます。
条件と戻り値を指定した更新
table.getUpdateHelper(<ZCNoSQLItem>,<ZCNoSQLUpdateAttributeOperation>).withCondition(<ZCNoSQLCondition>).withReturnValue(<NOSQL_RETURN_VALUE>).update();
最終更新日 2026-02-23 18:09:41 +0530 IST
Yes
No
Send your feedback to us