最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

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

运维笔记admin12浏览0评论

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

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

我正在使用@awspilot/dynamodb从客户表中获取数据,其中customer_id是主键。

我需要根据多个customer_email获取客户ID。

dynamodb
    .table('bc_customer')
    .select('customer_id')
    .having('email').eq('[email protected]')
    .scan(function( err, data ) {
        console.log(data);
  });

上面的代码允许我传递单个电子邮件ID,有没有办法搜索多个电子邮件ID?

回答如下:

DynamoDB支持query,它允许您从一个且仅一个分区(即一个分区键)获取数据,或scan返回表中的每个项目(即全表扫描)。

如果您知道要查询的分区键,则执行多个查询并组合结果集会更快。如果您不关心性能或者您对速度感到满意(请记住,随着工作台的增长,扫描会缩小),您可以使用扫描。

请注意,上面您实际上正在进行扫描,因此您不使用分区键作为索引。

查询将是这样的:

DynamoDB
    .table('bc_customer')
    .where('email').eq('[email protected]')
    .query(function(err, data ) {
        console.log(err,data)
    })

扫描(我认为 - awspilot documents不太清楚)应该是这样的:

DynamoDB
    .table('bc_customer')
    .having('email').eq('[email protected]')
    .having('someattribute').eq('something')
    .scan(function( err, data ) {
        console.log( err, data )
    })

与本文相关的文章

发布评论

评论列表(0)

  1. 暂无评论