Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >从DynamoDB查询多个项

从DynamoDB查询多个项
EN

Stack Overflow用户
提问于 2019-09-23 07:26:08
回答 1查看 6.6K关注 0票数 3

我在AWS中设计了一个简单的无服务器应用程序: API > Lambda (node.js) -> DynamoDB。

我想把顾客的数量放在同一张桌子上,并与其他物品保持一致。

Client_id,不,商品,价格

0001,1,方框,10

0001,2,表,100

0002,1,主席,20

0003,1,灯,15

我选择了主键= Client_id和排序键= no,目前我可以使用"dynamodb.get“函数获得单个项,但是在为一个客户端获取所有项时遇到了问题。我试着使用"dynomodb.batchget",但我需要知道表中有多少项并执行一些循环。也许有不同的,更好的方法从单一客户获得所有的项目?

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
const AWS = require('aws-sdk');
const dynamoDb = new AWS.DynamoDB.DocumentClient();

module.exports.get2 = (event, context, callback) => {

    var params = {
        "RequestItems": {
            "items": {
                "Keys": [{
                        id: Number(event.pathParameters.id),
                        no: 1
                    },
                    {
                        id: Number(event.pathParameters.id),
                        no: 2
                    }
                ]
            }
        },
        "ReturnConsumedCapacity": "TOTAL"
    };

    dynamoDb.batchGet(params, function(err, data) {
        if (err) {
            console.error(err);
            callback(null, {
                statusCode: err.statusCode || 501,
                headers: { 'Content-Type': 'text/plain' },
                body: 'Couldn\'t fetch the item.',
            });
            return;
        }
        const response = {
            statusCode: 200,
            body: JSON.stringify(data),
        };
        callback(null, response);
    });
};```
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-09-23 09:49:24

若要查找给定Client_id的所有记录,请使用query。下面是一个例子:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
const AWS = require("aws-sdk");

AWS.config.update({region: 'us-east-1'});

const params = {
  TableName: 'mytable',
  KeyConditionExpression: 'Client_id = :Client_id',
  ExpressionAttributeValues: {
    ':Client_id': '0001',
  },
};

const dc = new AWS.DynamoDB.DocumentClient();

dc.query(params, (err, data) => {
  if (err) {
    console.log('Error', err);
  } else {
    for (const item of data.Items) {
      console.log('item:', item);
    };
  }
});

但是,如果预先知道所需项的完整(分区和排序)键(相对于具有给定分区键的所有项),则可以使用batchGetItem

另外,考虑使用SDK函数的promisified variants

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58065654

复制
相关文章
Amazon DynamoDB
DynamoDB 是Amazon最新发布的NoSQL产品,那什么是DynamoDB呢?
阳光岛主
2019/02/19
3.1K0
Access重复项查询
大家好上节介绍了汇总查询,继续介绍选择查询中的重复项查询和不匹配项查询,这两种查询都可以在查询向导中创建,本节主要介绍重复项查询。
无言之月
2020/06/02
1.8K0
Access重复项查询
使用amazon的dynamodb
本文由腾讯云+社区自动同步,原文地址 https://stackoverflow.club/article/using_dynamodb_introduction/
羽翰尘
2019/11/20
1.1K0
从MySQL到AWS DynamoDB数据库的迁移实践
在 FreeWheel 的核心业务系统中,我们使用 MySQL 来存储数据。但随着数据量的不断增加,原有数据库已经无法满足如今的业务需求。经过前期大量的调研,我们决定将 MySQL 中的部分表迁移到 AWS Dynamodb 中。本文主要介绍从关系型数据库平顺迁移到非关系型数据库的实践经验。
深度学习与Python
2021/11/10
8.6K0
从MySQL到AWS DynamoDB数据库的迁移实践
AWS lambda and dynamodb with Java
使用aws lambda已经一年多了,下面使用java构建一个简单的lambda服务,大家可以自己扩展想要的功能,废话不多说,开始吧。
wblearn
2020/09/16
1K0
Hibernate查询多个数据
Query query = session.createQuery("from Table"); //表名首字母大写 query.setFirstResult(0); //从第一个开始查 query.setMaxResults(10); //查10个 List list=query.list(); //得到list 若是对象的list则写成List list <Table>=query.list();
ydymz
2018/09/10
9440
如何使用码匠连接 DynamoDB
DynamoDB 是亚马逊 AWS 的一种高性能、全托管的 NoSQL 数据库服务。作为一种数据源,DynamoDB 能够提供高度可扩展性、低延迟和可靠性。它支持多种数据类型和数据模型,包括键-值、文档和图形数据。DynamoDB 的数据模型非常灵活,可以根据需要对数据进行读取和写入。此外,DynamoDB 还提供了强大的数据查询和扫描功能,可以根据指定的条件快速查找和获取数据。DynamoDB 还支持 ACID 事务,可以确保数据一致性和完整性。DynamoDB 可以轻松地与其他 AWS 服务集成,例如 Lambda、API Gateway、Elasticsearch 等,可以构建高效、高可用的应用程序和服务。
码匠Majiang
2023/03/08
9910
如何使用码匠连接 DynamoDB
TP5 where数组查询(模糊查询--多个查询条件)
上表中的 exp 不是一个运算符,而是一个综合表达式以支持更复杂的条件设置。exp 的操作条件不会被当成字符串,可以使用任何 SQL 支持的语法,包括使用函数和字段名称。
php007
2019/10/29
6.4K0
TP5 where数组查询(模糊查询--多个查询条件)
[ 后端篇 ] 09 - AWS DynamoDB Pagination(分页)
当数据量过多的时候,往往数据不能全部读取,需要进行分页读取,可以看到到DynamoDB API接口的限制:
程序手艺人
2019/05/07
3.2K1
[ 后端篇 ] 09 - AWS DynamoDB Pagination(分页)
SQL嵌套查询_sql嵌套查询返回多个字段
说到嵌套查询,首先得理解嵌套查询是什么意思,简单来说就是,一个查询语句可以嵌套在另外一个查询语句的where子句中。外层的查询称为父查询(主查询),内层的查询称为子查询(从查询)。
全栈程序员站长
2022/09/22
2.9K0
SQL 从查询结果里查询[通俗易懂]
我想要从从表中查出每天电动车和手机各自的销售总额。这个需求还是蛮简单的,仅仅须要依据createtime和product group by即可了。以下是我写的SQL语句:
全栈程序员站长
2022/07/20
2.8K0
SQL 从查询结果里查询[通俗易懂]
[ 后端篇 ] 07 - AWS DynamoDB操作错误
操作过程中一直返回 The provided key element does not match the schema,意思为 提供的关键元素与schema不匹配.
程序手艺人
2019/03/29
7390
[ 后端篇 ] 07 - AWS DynamoDB操作错误
ExcelVBA从工作簿中查询多个姓名并复制出整行数据
工作中用的代码 Sub ExcelVBA从工作簿中查询多个姓名并复制出整行数据() Dim outFile As String, inFile As String Dim outWb As Workbook, mysht As Worksheet, tempsht As Worksheet, t_arr(1 To 30) Dim SearchRange As Range Dim LastRow As Integer, arr, FindStr As String, i
哆哆Excel
2022/10/31
1.7K0
[ 后端篇 ] 05 - AWS DynamoDB 入门教程
DynamoDB 属于AWS 专有的 NoSQL 数据库服务。其实和Mongod类似。
程序手艺人
2019/03/15
3.7K0
RestHighLevelClient一次查询多个条件
就像bulk在多文档索引时提高效率一样,msearch也能提升多个查询的执行效率,这里主要考虑到网络消耗,使用search查询可能要循环执行N遍,但是使用msearch一次从客户端一次客户请求即可。下面给出实例代码:
johnhuster的分享
2022/03/29
2.2K0
Oracle实现like多个值的查询
某天客户有一个需求,给定一批的手机号码或者电话号码,查询出相关的通话记录,以及相关的一些信息。
星哥玩云
2022/08/16
2.8K0
Oracle实现like多个值的查询
sql嵌套查询效率_sql嵌套查询返回多个字段
为了查询一个字段,使用了五层嵌套循环,但是花费了约1分钟 但是5个表的数据每个最多只有10条,怎么会这么慢呢?
全栈程序员站长
2022/09/22
2.8K0
sql嵌套查询效率_sql嵌套查询返回多个字段
mybatis多条件查询sql_sql模糊查询多个条件
步骤1:先运行,看到效果,再学习步骤2:模仿和排错步骤3:在前一步的基础上进行步骤4:模糊查询步骤5:多条件查询
全栈程序员站长
2022/10/03
3.4K0
mybatis多条件查询sql_sql模糊查询多个条件
[ 后端篇 ] 06 - AWS DynamoDB 操作二三事
以上两种办法,肯定是第二种办法比较方便,而且只进行一次update操作,而第一种办法,先进行get操作,然后put操作,进行了两次读写。
程序手艺人
2019/03/20
1.1K0
[ 后端篇 ] 06 - AWS DynamoDB 操作二三事
js中数组求和_多个数组对应项求和
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
全栈程序员站长
2022/11/09
2.7K0

相似问题

如何查询DynamoDB中是否存在多个项?

14

dynamodb从GSI查询多个值

118

使用“包含”查询DynamoDB项

60

使用nodejs和Alexa查询dynamodb以返回多个项

16

从AWS函数的DynamoDB项[ List ]中查询

12
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文