DynamoDB-删除表达式
语法:
- [Remove action[,action]...]——从项目中删除属性
- [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-删除表达式相关推荐
- 代码 删除的stach 找回_阿里大佬教你,如何写好 Java 代码!
点击上方蓝色链接,关注并"设为星标" Java干货,每天及时推送 阿里大佬分享的一篇很不错的文章,推荐收藏! 导读 明代王阳明先生在<传习录>谈为学之道时说: 私欲日生 ...
- 计算器软件----表达式求值
学完栈写了一个计算器小程序, 基本功能如下: 1.支持基本的+ - * / % 运算 2.支持sin.cos.tan.ln.log.乘方(^).开方(sqrt).指数(exp) 求值 3.支持括号及括 ...
- 【编译原理笔记18】代码优化:活跃变量分析,可用表达式分析
本次笔记内容: 8-8 活跃变量分析 8-9 可用表达式分析 本节课幻灯片,见于我的 GitHub 仓库:第18讲 代码优化_3.pdf 文章目录 活跃变量分析 活跃变量 例:各基本块的出口处的活跃变 ...
- Qt实战项目:高精度表达式计算器Qt
高精度表达式计算器Qt 表达式计算器是一个由C++ with QT编写的应用程序.这个计算器旨在通过引入表达式计算的概念解决Windows默认计算器显示不直观的问题,提供了普通型计算器.科学型计算器的 ...
- sed删除以什么开头的内容_使用 sed 命令删除文件中的行
原标题:使用 sed 命令删除文件中的行 Sed 代表流编辑器 Stream Editor ,常用于 Linux 中基本的文本处理.sed 命令是 Linux 中的重要命令之一,在文件处理方面有着重要 ...
- sed删除以什么开头的内容_技术|如何使用 sed 命令删除文件中的行
Sed 代表流编辑器Stream Editor,常用于 Linux 中基本的文本处理.sed 命令是 Linux 中的重要命令之一,在文件处理方面有着重要作用.可用于删除或移动与给定模式匹配的特定行. ...
- 消灭 Java 代码的“坏味道”
点击上方"方志朋",选择"设为星标" 回复"666"获取新整理的面试资料 导读 明代王阳明先生在<传习录>谈为学之道时说: 私欲 ...
- java代码_阿里资深工程师教你如何优化 Java 代码!
作者 | 王超责编 | 伍杏玲 明代王阳明先生在<传习录>谈为学之道时说: 私欲日生,如地上尘,一日不扫,便又有一层.着实用功,便见道无终穷,愈探愈深,必使精白无一毫不彻方可. 代码中的& ...
- Linux_正则表达式
目录 目录 前言 filegrep指令结合正则表达式过滤 rm结合正则表达式删除 表达式标示符 前言 介绍一些简单的正则表达式标示符. file.grep指令结合正则表达式过滤 [a,b,c] 若行中 ...
- INPUT type=password 元素 | input type=password 对象
INPUT type=password 元素 | input type=password 对象 属性 描述 ACCESSKEY accessKey 设置或获取对象的快捷键. ATOMICSEL ...
最新文章
- vue+ivew-admin开发项目,内存占用过大解决办法
- lstm代码_贼好理解,这个项目教你如何用百行代码搞定各类NLP模型
- LINUX 使用tcgetattr函数与tcsetattr函数控制终端三
- Apache源代码全景分析第二卷——HTTP请求处理
- 中后台管理信息系统通用原型方案_AxureUX客户关系管理系统后台设置中心原型模板正式发布...
- 算法设计与分析:芯片测试问题、选择问题详解
- 探秘ReSharper 8新功能——XAML编辑
- Ping命令返回错误信息说明
- 计算机页面下没有桌面图标,电脑下面小图标没了怎么办
- your system does not seem to be set up to build kernel modules
- java mediatype属性_SpringMVC 及常用MediaType
- 牛客练习赛53 老瞎眼 pk 小鲜肉[思维+离线+线段树]
- lanyu 激活idea2018.3.5
- 周易六十四卦——比卦
- 软件测试周刊(第86期):一个人为寻求他所需要的东西,走遍了全世界。回到家里,找到了。
- 十、k8s健康检查之 livenessProbe/readinessProbe
- 关于数字转换成人民币大写的问题
- nacos和eruka的区别
- STM32 RCC设置
- square enix服务器维护,Square Enix解决《最终幻想14》的服务器问题
热门文章
- 今日学习在线编程题:小码哥的属相
- gulp plugins 插件介绍
- audio unity 加速_unity中如何实现调整视频播放速度的功能?
- wsl+ zsh + oh-my-zsh配置
- webpack超超初级入门
- PgSQL一主二从(流式复制)
- 借贷记账法下的账户对应关系_2015《会计基础》知识点:借贷记账法下的账户对应关系...
- TortoiseGit 使用ssh相关问题
- [BZOJ 1011][HNOI2008]遥远的行星(奇技淫巧)
- 网络舆情分析软件工具汇总及功能作用详解