まず、テーブルを作成します
1つのVAR AWS =必要とする( "AWS-SDK" ); 2 AWS.config.update({ 3リージョン: "US-2ウエスト"、 // 使用される領域のAWSサービス 4エンドポイント:「HTTP:// localhostを : 8000 " // DynamoDBの位置 5。}); 6。VARの DynamoDBの= 新しい新しいAWS.DynamoDB(); 7。 8。VARのparams = { 9テーブル名:"映画" // テーブル 10 KeySchema: // 主キー 11 {AttributeNameに:"年"ます。KeyType:" HASH「}、 // パーティション・キー・パーティション化キー 12 {AttributeNameに"タイトル"、ます。KeyType: "RANGE"} // ソートキー排序键 13 ]、 14 AttributeDefinitions:// 主键数据类型 15 {AttributeNameに"年"、AttributeTypeで: "N"}、// N数 16 {AttributeNameに"タイトル"、AttributeTypeで: "S"} // Sストリング 17 ]、 18 ProvisionedThroughput:{ // DynamoDBの吞吐量配置 19 ReadCapacityUnits:10 、 20 WriteCapacityUnits:10 21 } 22 }。 23 dynamodb.createTable(paramsは、関数(ERR、 もし(ERR){ 25 console.error( "テーブルを作成できませんJSONのエラー:"、JSON.stringify(ERR、NULL、2 ))。 26} 他{ 27はconsole.log( "作成されたテーブル表の説明JSON:"、JSON.stringify(データ、NULL、2 ))。 28 } 29});
第二に、エントリの増加
。1つの VAR docClient = 新新AWS.DynamoDB.DocumentClient(); 2 VaRの表= "作品" ; 3。 のvar年= 2015 ; 4。 VaRの "新ビッグ映画の"タイトル= ; 5。 VARのparams = { 6。 テーブル名:テーブル、// 動作させるためのテーブル 7。 アイテム:{ 8。 "年":年、// プライマリキー-パーティション間 9。 "タイトル":タイトル、// プライマリキー-ソートキー 10 "情報":{ // その他のプロパティ 11 "プロット": "何が全く起こらない。"、 "評価":0 12 } 13 } 14 }。 15はconsole.log( "新しいアイテムを追加しています..." ); 16 docClient.put(paramsは、関数(ERR、データ){ 17 であれば(ERR){ 18 console.error( "アイテムを追加できませんJSONをエラー:"、JSON.stringify(ERR、NULL、2 )); 19 } 他{ 20 はconsole.log( "項目を追加しました:"、JSON.stringify(データ、NULL、2 )); 21 } 22 });
第三に、アクセスエントリー
。1つの VAR docClient = 新新AWS.DynamoDB.DocumentClient() 2 VaRの表= "作品"; // テーブルが満たさなければならない 3。 のvar年= 2015; // 照会するパーティションキー 4。 VaRの "新ビッグ映画の"タイトル=; // テーブルは、複合主キーを作成する場合に照会するソート・キーが提供され、その後、パーティションキーソートキーが存在しなければならない 5。 VARのparams = {テーブル名:テーブル、キー:{「年」:年、「タイトル」:タイトル}}。 6 docClient.get(paramsは、関数(ERR、データ){ 7 IF (ERR){ 8 console.error( "読み取ることができませんJSON項目をエラー:."、JSON.stringify(ERR、ヌル、2)); 9 } 他{ 10 はconsole.log( "GetItem関数が成功した:"、JSON.stringify(データ、NULL、2 ))。 11 } 12 });
第四に、更新された項目
。1つの VARの表は、= "作品" ; 2 のvar年= 2015 ; 3。 VaRの "新ビッグ映画の"タイトル=; // 更新項目、UNCONDITIONALLY、 4。 VARのparams = { 5。 テーブル名:テーブル、キー:{ 。6 "年" :年、// パーティションキー 7。 "タイトル":タイトル// ソートキーインタフェースは主キーを更新しなければならない 。8 }、UpdateExpression: "SET = info.rating:R&LT = info.plot:P = info.actors:A" 、// 式の値に変更したい 9 ExpressionAttributeValues:{ // あなたは割り当てを変更したい値を 10 ":R":5.5、 ":P": "すべてが一度にすべてを発生します。"、 ":":[ "ラリー"、 "萌え"、 "カーリー" ] 11 }、ReturnValues: "UPDATED_NEW" // 返回更新值、即下中のデータ 12 }。 13はconsole.log( "アイテムを更新しています..." )。 14 docClient.update(paramsは、関数(ERR、データ){ 15 にconsole.log(データ); 16 場合(ERR){ 17 console.error( "更新項目にできないが、JSONエラー:"、JSON.stringify(ERRをNULL、2 )); 18 } 他{ 19 console.log( "UpdateItemは成功しました:"、JSON.stringify(データ、ヌル、2 )); 20 } 21 });
第五に、削除項目
。1つの VARの表= "作品" ; 2 のvar年= 2015 ; 3。 VaRの "新ビッグ映画の"タイトル= ; 4。 VARのparams = { 5。 テーブル名:表、// 待機テーブル削除操作 。6 キー:{ 7 "年" :年、// パーティションキー 8。 "タイトル":タイトル// ソート・キー 。9 }、 10 ExpressionAttributeNames:{ "U#": "ユーザー" }、 。11 conditionExpression: "= #U:ヴァル"、// 削除条件式式 12 ExpressionAttributeValues:{ 13 ":ヴァル":5.0 // 条件值 14 } 15 }。 16はconsole.log( "条件付きの削除をしようと..." ); 17 docClient。削除(paramsは、関数(ERR、データ){ 18 であれば(ERR){ 19 console.error( "削除項目にできないJSONをエラー:"、JSON.stringify(ERR、NULL、2 )); 20 } 他{ 21 console.log( "DeleteItemが成功:"、JSON.stringify(データ、NULL、2 )); 22 } 23 });
第六に、バッチクエリ
1つの VARの paramsは= { 2 RequestItems:{ 3 "GsdSubDevices" :{ 4 キー:[ 5 { 6 "MAC": "母" 7 }、 8 { 9 "MAC": "111" 10 } 11 { 12 「マック「: "222" 13 } 14 ] 15 } 16 } 17 }。 18はconsole.log( "requestArr ===>" + JSON.stringify(requestArr))。 19 docClient。関数(ERR、データ){ 20 であれば(ERR){ 21 console.error( "アイテムを読み取ることができませんJSONをエラー:"、JSON.stringify(ERR、NULL、2 ))。 22 } 他{ 23 24 } 25 });
より多くの推奨動作データベース操作よりも使用する場合は、次の2つの方法で操作DynamoDBのデータベースは、DynamoBDにもう一つの一般的な操作(B)を参照してください、このアプローチは、よりお勧めできません、複雑になっています