How to use “IN” statement in FilterExpression using array - dynamodb

前端 未结 6 2052
猫巷女王i
猫巷女王i 2020-12-08 15:58

Checked AWS document but did not find any working example.

Here is my attempt

var params = {
            TableName: \"User\",
            IndexName:\         


        
6条回答
  •  不思量自难忘°
    2020-12-08 16:26

    I've done it like this, parsing the params list once

    const users = [{userId:1, name:'joe'}, {userId:2, name:'mike'}]
    const expressionAttributeValues = {};
    const userIdParams = users.map((u, i) => {
      const userParam = `:user${i}`;
      expressionAttributeValues[userParam] = u.userId;
      return userParam;
    }).join(',')
    var params = {
        TableName : 'Users',
        FilterExpression : `username IN (${userIdParams})`,
        ExpressionAttributeValues : expressionAttributeValues
    };

提交回复
热议问题