繁体   English   中英

从表中扫描多个电子邮件ID-DynamoDB

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM