--- title: "テーブルへのアイテムの挿入" url: https://docs.catalyst.zoho.com/ja/sdk/nodejs/v2/cloud-scale/nosql/insert-items/ description: "Catalyst NoSQLは、非リレーショナルかつ非SQLのデータストレージ手段を提供する、フルマネージドで強力なデータベースです。このページでは、NoSQLテーブルにさまざまな方法でアイテムを挿入するためのSDKメソッドについて説明します。" last_updated: 2026-03-30T08:10:30Z service: Cloud Scale type: general related_links: - name: "NoSQL" url: /ja/cloud-scale/help/nosql/introduction - name: "Working with Data" url: /ja/cloud-scale/help/nosql/working-with-data/introduction/ - name: "NoSQL API" url: /ja/api/code-reference/cloud-scale/nosql/insert-item/#InsertNewItem --- # NoSQLテーブルへのアイテムの挿入 Catalystでは、アイテムを構築した後、特定の[NoSQL](https://docs.catalyst.zoho.com/ja/cloud-scale/help/nosql/introduction/)テーブルにアイテムを挿入できます。このセクションで説明するさまざまな方法でアイテムを挿入できます。 データの追加と操作に関するヘルプセクション、[CatalystカスタムJSON形式](https://docs.catalyst.zoho.com/ja/cloud-scale/help/nosql/working-with-data/introduction/#the-catalyst-custom-json-format)、および[サポートされるデータ型](https://docs.catalyst.zoho.com/ja/cloud-scale/help/nosql/working-with-data/introduction/#supported-data-types)を参照して、これらのトピックの詳細を確認できます。 > **Note:** Catalystでは、1回のSDK操作でNoSQLテーブルに最大25件のアイテムを一括挿入できます。 ### 条件なしでのアイテムの挿入 CatalystカスタムJSON形式でアイテムを構築することで、条件なしでNoSQLテーブルに新しいアイテムを挿入できます。この場合、テーブルに設定された[パーティションキーとソートキー](https://docs.catalyst.zoho.com/ja/cloud-scale/help/nosql/components/#table-keys)属性の値を必須で渡す必要があります。 以下の例では、パーティションキー属性`fruitName`の値を「Banana」として含むアイテムが提供されています。文字列データ型の他の属性(`fruitColor`や`fruitType`など)も、`fruitProperties`というマップとして追加されています。アイテムは`insertItems()`メソッドを使用して挿入されます。 ```javascript // 条件なしでNoSQLアイテムを挿入 const plainInsert = await table.insertItems({ // 挿入するアイテムを定義する with the partition key fruitName item: NoSQLItem.from({ fruitName: 'Banana', //アイテムの他の属性の値を指定する fruitProperties: { fruitColor: 'Yellow', fruitType: 'Berries' } }), // レスポンスの戻り値を設定する。その他のサポート値は"OLD"と"NULL" return: NoSQLReturnValue.NEW }); ``` ### 条件付き関数でのアイテムの挿入 CatalystカスタムJSON形式で定義した特定の条件を使用して、NoSQLテーブルの既存アイテムに属性を挿入できます。この方法では、テーブルの既存データが取得され、指定された条件に対して評価されます。評価が真の場合にのみアイテムが挿入されます。既存データがない場合、条件は無視されアイテムが挿入されます。 Catalystでは、条件を評価するための複数の演算子がサポートされています。サポートされる演算子は以下のとおりです。
Operators Notation
CONTAINS `contains`
NOT_CONTAINS `not_contains`
BEGINS_WITH `begins_with`
ENDS_WITH `ends_with`
IN `in`
NOT_IN `not_in`
BETWEEN `between`
NOT_BETWEEN `not_between`
EQUALS `equals`
NOT_EQUALS `not_equals`
GREATER_THAN `greater_than`
LESS_THAN `less_than`
GREATER_THAN_OR_EQUALS `greater_equal`
LESSER_THAN_OR_EQUALS `less_equal`
AND `AND`
OR `OR`
以下の例では、既存データ内の属性`fruitName`のデータ型がStringであることを条件として定義しています。条件が満たされた場合、これらのアイテムに値「Sweet」を持つ属性`taste`が追加されます。 ```javascript // "attribute_type"関数でNoSQLアイテムを挿入 const attrTypeInsert = await table.insertItems({ // 挿入するアイテムを定義する item: NoSQLItem.from({ taste: 'Sweet' }), // 挿入の条件を定義する condition: { // 条件は属性タイプがString("S")の場合にアイテムを追加することを指定する function: { // 関数タイプを設定する function_name: 'attribute_type', // 関数に引数を渡す args: [ { // 属性パスを設定する attribute_path: ['fruitName'] }, // 属性タイプを設定する NoSQLMarshall.makeString('S') // => { "S": "S" } ] } } }); ``` 以下は、条件付き関数を使用してアイテムを挿入するその他のサンプルスニペットです。 ```javascript //"equals"演算子を使用し、属性"name"の値が"apple"のNoSQLアイテムを挿入する const operatorEqInsert = await table.insertItems({ // 挿入するアイテムを定義する item: NoSQLItem.from({ taste: 'Sweet' }), // 挿入の条件を定義する condition: { // 属性パスを設定する attribute: ['name'], // 操作に基づいて演算子を設定する operator: NoSQLOperator.EQUALS, // 比較する値を設定する value: NoSQLMarshall.makeString('apple') // => { "S": "apple" } } }); //「group_operator」でNoSQLアイテムを挿入する。属性「name」が「apple」かつ属性「variety」が「gala」 const groupOpInsert = await table.insertItems({ // 挿入するアイテムを定義する item: NoSQLItem.from({ taste: 'Sweet' }), // 挿入の条件を定義する condition: { // グループ演算子を設定する group_operator: NoSQLConditionGroupOperator.AND, // グループ条件を指定する group: [ { // 属性パスを設定する attribute: 'name', // 操作に基づいて演算子を設定する operator: NoSQLOperator.EQUALS, // 比較する値を設定する value: NoSQLMarshall.makeString('apple') // => { "S": "apple" } }, { // 属性パスを設定する attribute: 'variety', // 操作に基づいて演算子を設定する operator: NoSQLOperator.EQUALS, // 比較する値を設定する value: NoSQLMarshall.makeString('gala') // => { "S": "gala" } } ] } }); //「begins_with」演算子でNoSQLアイテムを挿入する。属性「name」の値が「app」で始まる const beginsWithInsert = await table.insertItems({ // 挿入するアイテムを定義する item: NoSQLItem.from({ taste: 'Sweet' }), // 挿入の条件を定義する condition: { // 属性パスを設定する attribute: ['name'], // 操作に基づいて演算子を設定する operator: NoSQLOperator.BEGINS_WITH, // 比較する値を設定する value: NoSQLMarshall.makeString('app') // => { "S": "app" } } }); ```