簡體   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