La consulta de AWS DynamoDB no se filtra en el valor BOOL

Tengo una tabla de usuarios que se creó con la GUI y se me dio una clave de partición del correo electrónico y es una cadena. Luego utilicé aws lambda para hacer un putItem que tenía:

email (string) test@testing.com deleted (BOOL) false 

Esto funcionó bien. Luego traté de consultarlo con lambda usando los siguientes parámetros y consulta:

 var params = { TableName : 'Users', KeyConditionExpression : 'email = :email', FilterExpression : 'deleted = :deleted', ExpressionAttributeValues : { ':email' : email, ':deleted': { BOOL: false } } }; docClient.query(params, function(err, data) { if (err) return fn(err); else { console.log("GetItem succeeded:", JSON.stringify(data, null, 2)); } }); 

Esto siempre devuelve 0 elementos cuando busco email = test@testing.com y dejo los borrados como falsos. Si elimino la expresión de filtro de eliminado, obtengo una devolución de artículo, ¿por qué no funciona BOOL = false o debo usar otra cosa?

Aquí está el código para filtrar los datos de BOOL . No es necesario codificar como abajo, ya que DynamoDB lo interpreta como valor BOOL dentro del tipo de datos MAP.

 { BOOL: false } 

Cambiar a:-

 ':deleted' : false 

Código:-

 var table = "users"; var params = { TableName : table, KeyConditionExpression : 'email = :email', FilterExpression: 'deleted = :deleted', ExpressionAttributeValues : { ':email' : 'abc@gmail.com', ':deleted' : false } }; docClient.query(params, function(err, data) { if (err) { console.error("Unable to read item. Error JSON:", JSON.stringify(err, null, 2)); } else { console.log("GetItem succeeded:", JSON.stringify(data, null, 2)); } }); 

Mi artículo de DynamoDB que tiene datos BOOL: –

introduzca la descripción de la imagen aquí