语法:

  1. [Remove action[,action]...]——从项目中删除属性
  2. [DELETE action[,action]...]——从集合中删除元素/项目
  • 删除项目

您可以使用 delete 方法,通过指定项目的主键来删除一个项目。您可以提供一个 ConditionExpression 以防止在不符合条件时删除项目。

  var AWS = require('aws-sdk');var fs = require('fs');var uuid = require('uuid');AWS.config.update({region: "us-west-2",endpoint: "http://dynamodb:8000"})var docClient = new AWS.DynamoDB.DocumentClient();exports.handler = async function( event, context, callback ){response = {headers: { "Content-Type": 'application/json',"Access-Control-Allow-Origin": "*","Access-Control-Allow-Credentials": true,"Access-Control-Allow-Headers": "Content-Type, Access-Control-Allow-Headers, Access-Control-Allow-Origin, Authorization, X-Requested-With"},}case 'DELETE': {var table ='book_table', hash = 'book';id = 'bee1bea0-4b6a-4fbc-8cf0-8c030519c909';var params = {TableName: table,Key: {"hash": hash,"id": id},ConditionExpression: "price < :h",ExpressionAttributeValues: {":h" : 50},await docClient.delete( params ).promise().then(( data ) => {response.body = JSON.stringify({"success": data});console.log("success", data );}).catch(( err ) =>{console.log("error", err );response.statusCode = err.statusCode;response.body = JSON.stringify({"error": err});});callback( null, response );break;}}        

  • 添加集合
 1 var AWS = require('aws-sdk');
 2 var fs = require('fs');
 3 var uuid = require('uuid');
 4
 5 AWS.config.update({
 6     region: "us-west-2",
 7     endpoint: "http://dynamodb:8000"
 8 })
 9
10 var docClient = new AWS.DynamoDB.DocumentClient();
11
12 exports.handler = async function( event, context, callback ){
13
14     response = {
15         headers: {
16             "Content-Type": 'application/json',
17             "Access-Control-Allow-Origin": "*",
18             "Access-Control-Allow-Credentials": true,
19             "Access-Control-Allow-Headers": "Content-Type, Access-Control-Allow-Headers, Access-Control-Allow-Origin, Authorization, X-Requested-With"
20         },
21     }
22
23     case 'POST': {
24             var table = "book_table", hash = "test";
25
26             var params = {
27                 TableName: table,
28                 Item: {
29                     "hash": hash,
30
31                     "id": uuid(),
32
33                     "book_type": docClient.createSet(["青春文学", "历史典故", "杂志", "小说"])
34         }
35
36                     };
37             await docClient.put( params ).promise().then(
38                 ( data ) => {
39                     response.body = JSON.stringify({"success": data})
40                 }
41             ).catch(
42                 ( err ) =>{
43                     response = {
44                         statusCode: err.statusCode,
45                         body: JSON.stringify({
46                             code: err.code,
47                             message: err.message
48                         })
49                     }
50                 }
51             )
52
53             callback( null, response );
54             break;
55         }
56 }

程序运行成功后返回:

 1 {
 2     "success:": {
 3         "Attributes": {
 4             "book_type": {
 5                 "wrapperName": "Set",
 6                 "values": [
 7                     "历史典故",
 8                     "小说",
 9                     "青春文学",
10                     “杂志”
11                 ],
12                 "type": "String"
13             },
14             "hash": "test",
15             "id": "87de4a25-7361-4fcf-af01-5949c55099a3"
16         }
17     }
18 }        

View Code

  • 从集合中删除项目
 1 var AWS = require('aws-sdk');
 2 var fs = require('fs');
 3 var uuid = require('uuid');
 4
 5 AWS.config.update({
 6     region: "us-west-2",
 7     endpoint: "http://dynamodb:8000"
 8 })
 9
10 var docClient = new AWS.DynamoDB.DocumentClient();
11
12 exports.handler = async function( event, context, callback ){
13
14     response = {
15         headers: {
16             "Content-Type": 'application/json',
17             "Access-Control-Allow-Origin": "*",
18             "Access-Control-Allow-Credentials": true,
19             "Access-Control-Allow-Headers": "Content-Type, Access-Control-Allow-Headers, Access-Control-Allow-Origin, Authorization, X-Requested-With"
20         },
21     }
22             case 'PUT': {
23             var table = 'book_table', hash = 'test';
24             var id = "87de4a25-7361-4fcf-af01-5949c55099a3";
25             var params = {
26                 TableName: table,
27                 Key: {
28                     "hash": hash,
29                     "id": id
30                 },
31
32                 UpdateExpression: "DELETE book_type :value",
33                 ExpressionAttributeValues: {
34                     ":value": docClient.createSet(["杂志"])
35                 },
36                 ReturnValues: "ALL_NEW"
37             };
38
39            await docClient.update( params ).promise().then(
40                 ( success ) => {
41                     response.body = JSON.stringify({ "success:": success })
42                 }
43
44             ).catch(
45                 ( err ) => {
46                     console.log(err);
47                     response.statusCode = err.statusCode;
48                     response.body = JSON.stringify({
49                         code: err.code,
50                         message: err.message
51                     })
52                 }
53             );
54             callback( null, response );
55             break;
56         };}

程序运行成功后返回:

    •  1 {
       2     "success:": {
       3         "Attributes": {
       4             "book_type": {
       5                 "wrapperName": "Set",
       6                 "values": [
       7                     "历史典故",
       8                     "小说",
       9                     "青春文学"
      10                 ],
      11                 "type": "String"
      12             },
      13             "hash": "test",
      14             "id": "87de4a25-7361-4fcf-af01-5949c55099a3"
      15         }
      16     }
      17 }

      View Code

  • 从项目中删除属性

  

 1 var AWS = require('aws-sdk');
 2 var fs = require('fs');
 3 var uuid = require('uuid');
 4
 5 AWS.config.update({
 6     region: "us-west-2",
 7     endpoint: "http://dynamodb:8000"
 8 })
 9
10 var docClient = new AWS.DynamoDB.DocumentClient();
11
12 exports.handler = async function( event, context, callback ){
13
14     response = {
15         headers: {
16             "Content-Type": 'application/json',
17             "Access-Control-Allow-Origin": "*",
18             "Access-Control-Allow-Credentials": true,
19             "Access-Control-Allow-Headers": "Content-Type, Access-Control-Allow-Headers, Access-Control-Allow-Origin, Authorization, X-Requested-With"
20         },
21     }
22     case 'PUT': {
23             var table = 'book_table', hash = 'test';
24             var id = "556433cf-37b6-4e12-b513-9c261fd279f7";
25             var params = {
26                 TableName: table,
27                 Key: {
28                     "hash": hash,
29                     "id": id
30                 },
31                 UpdateExpression: "REMOVE price",
32
33
34                ReturnValues: "ALL_NEW"
35             };
36
37            await docClient.update( params ).promise().then(
38                 ( success ) => {
39                     response.body = JSON.stringify({ "success:": success })
40                 }
41
42             ).catch(
43                 ( err ) => {
44                     console.log(err);
45                     response.statusCode = err.statusCode;
46                     response.body = JSON.stringify({
47                         code: err.code,
48                         message: err.message
49                     })
50                 }
51             );
52             callback( null, response );
53             break;
54         };
55 }

程序运行成功后返回:

 1             {
 2                     "success:": {
 3                         "Attributes": {
 4                             "booktype": [
 5                                 "青春文学",
 6                                 "历史典故",
 7                                 "读者杂志",
 8                                 "最小说",
 9                                 "科技畅想",
10                                 "穿越时空"
11                             ],
12                             "hash": "book",
13                             "id": "556433cf-37b6-4e12-b513-9c261fd279f7"
14                         }
15                     }
16                 }

View Code

ps: 本文为本人原创文章,若有疑问,欢迎下方留言,也可自读aws的相关api文档: https://docs.aws.amazon.com/zh_cn/amazondynamodb/latest/developerguide/Expressions.OperatorsAndFunctions.html

转载于:https://www.cnblogs.com/landen/p/9815109.html

DynamoDB-删除表达式相关推荐

  1. 代码 删除的stach 找回_阿里大佬教你,如何写好 Java 代码!

    点击上方蓝色链接,关注并"设为星标" Java干货,每天及时推送 阿里大佬分享的一篇很不错的文章,推荐收藏! 导读 明代王阳明先生在<传习录>谈为学之道时说: 私欲日生 ...

  2. 计算器软件----表达式求值

    学完栈写了一个计算器小程序, 基本功能如下: 1.支持基本的+ - * / % 运算 2.支持sin.cos.tan.ln.log.乘方(^).开方(sqrt).指数(exp) 求值 3.支持括号及括 ...

  3. 【编译原理笔记18】代码优化:活跃变量分析,可用表达式分析

    本次笔记内容: 8-8 活跃变量分析 8-9 可用表达式分析 本节课幻灯片,见于我的 GitHub 仓库:第18讲 代码优化_3.pdf 文章目录 活跃变量分析 活跃变量 例:各基本块的出口处的活跃变 ...

  4. Qt实战项目:高精度表达式计算器Qt

    高精度表达式计算器Qt 表达式计算器是一个由C++ with QT编写的应用程序.这个计算器旨在通过引入表达式计算的概念解决Windows默认计算器显示不直观的问题,提供了普通型计算器.科学型计算器的 ...

  5. sed删除以什么开头的内容_使用 sed 命令删除文件中的行

    原标题:使用 sed 命令删除文件中的行 Sed 代表流编辑器 Stream Editor ,常用于 Linux 中基本的文本处理.sed 命令是 Linux 中的重要命令之一,在文件处理方面有着重要 ...

  6. sed删除以什么开头的内容_技术|如何使用 sed 命令删除文件中的行

    Sed 代表流编辑器Stream Editor,常用于 Linux 中基本的文本处理.sed 命令是 Linux 中的重要命令之一,在文件处理方面有着重要作用.可用于删除或移动与给定模式匹配的特定行. ...

  7. 消灭 Java 代码的“坏味道”

    点击上方"方志朋",选择"设为星标" 回复"666"获取新整理的面试资料 导读 明代王阳明先生在<传习录>谈为学之道时说: 私欲 ...

  8. java代码_阿里资深工程师教你如何优化 Java 代码!

    作者 | 王超责编 | 伍杏玲 明代王阳明先生在<传习录>谈为学之道时说: 私欲日生,如地上尘,一日不扫,便又有一层.着实用功,便见道无终穷,愈探愈深,必使精白无一毫不彻方可. 代码中的& ...

  9. Linux_正则表达式

    目录 目录 前言 filegrep指令结合正则表达式过滤 rm结合正则表达式删除 表达式标示符 前言 介绍一些简单的正则表达式标示符. file.grep指令结合正则表达式过滤 [a,b,c] 若行中 ...

  10. INPUT type=password 元素 | input type=password 对象

    INPUT type=password 元素 | input type=password 对象     属性 描述 ACCESSKEY accessKey 设置或获取对象的快捷键. ATOMICSEL ...

最新文章

  1. vue+ivew-admin开发项目,内存占用过大解决办法
  2. lstm代码_贼好理解,这个项目教你如何用百行代码搞定各类NLP模型
  3. LINUX 使用tcgetattr函数与tcsetattr函数控制终端三
  4. Apache源代码全景分析第二卷——HTTP请求处理
  5. 中后台管理信息系统通用原型方案_AxureUX客户关系管理系统后台设置中心原型模板正式发布...
  6. 算法设计与分析:芯片测试问题、选择问题详解
  7. 探秘ReSharper 8新功能——XAML编辑
  8. Ping命令返回错误信息说明
  9. 计算机页面下没有桌面图标,电脑下面小图标没了怎么办
  10. your system does not seem to be set up to build kernel modules
  11. java mediatype属性_SpringMVC 及常用MediaType
  12. 牛客练习赛53 老瞎眼 pk 小鲜肉[思维+离线+线段树]
  13. lanyu 激活idea2018.3.5
  14. 周易六十四卦——比卦
  15. 软件测试周刊(第86期):一个人为寻求他所需要的东西,走遍了全世界。回到家里,找到了。
  16. 十、k8s健康检查之 livenessProbe/readinessProbe
  17. 关于数字转换成人民币大写的问题
  18. nacos和eruka的区别
  19. STM32 RCC设置
  20. square enix服务器维护,Square Enix解决《最终幻想14》的服务器问题

热门文章

  1. 今日学习在线编程题:小码哥的属相
  2. gulp plugins 插件介绍
  3. audio unity 加速_unity中如何实现调整视频播放速度的功能?
  4. wsl+ zsh + oh-my-zsh配置
  5. webpack超超初级入门
  6. PgSQL一主二从(流式复制)
  7. 借贷记账法下的账户对应关系_2015《会计基础》知识点:借贷记账法下的账户对应关系...
  8. TortoiseGit 使用ssh相关问题
  9. [BZOJ 1011][HNOI2008]遥远的行星(奇技淫巧)
  10. 网络舆情分析软件工具汇总及功能作用详解