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