[英]Scan multiple email id from table - DynamoDB
我正在使用@awspilot/dynamodb
从其中customer_id
是主键的客户表中获取数据。
我需要基于多个customer_email
获取客户ID。
dynamodb
.table('bc_customer')
.select('customer_id')
.having('email').eq('test@gmail.com')
.scan(function( err, data ) {
console.log(data);
});
上面的代码允许我传递单个电子邮件ID,是否可以搜索多个电子邮件ID?
DynamoDB支持query ,它允许您从一个分区和仅一个分区(即一个分区键)获取数据,或进行扫描以返回表中的每个项目(即全表扫描)。
如果您知道要查询的分区键,则执行多个查询并合并结果集的速度会更快。 如果您不关心性能或对速度感到满意(请注意,随着表的增长,扫描的伸缩性会变差),则可以使用扫描。
请注意,上面您实际上是在进行扫描,因此您没有将分区键用作索引。
查询将是这样的:
DynamoDB
.table('bc_customer')
.where('email').eq('test@gmail.com')
.query(function(err, data ) {
console.log(err,data)
})
扫描(我认为-awspilot文档不太清楚)应该是这样的:
DynamoDB
.table('bc_customer')
.having('email').eq('test@gmail.com')
.having('someattribute').eq('something')
.scan(function( err, data ) {
console.log( err, data )
})
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.