Javascript Dynamodb FilterExpression仅返回一项

Javascript Dynamodb FilterExpression仅返回一项,javascript,amazon-dynamodb,Javascript,Amazon Dynamodb,我有一个dynamodb表,表中有一列名为“approval”,其中有几个测试项的值为“approval”,包括“pending”、“approved”和“notapproved”。我有3个带有“待定”的项目 我使用下面的Lambda函数来检索项目,我只想获取“挂起”的项目。所以我使用FilterExpression。这是我的全部功能: var doc = require('dynamodb-doc'); var dynamo = new doc.DynamoDB(); exports.han

我有一个dynamodb表,表中有一列名为“approval”,其中有几个测试项的值为“approval”,包括“pending”、“approved”和“notapproved”。我有3个带有“待定”的项目

我使用下面的Lambda函数来检索项目,我只想获取“挂起”的项目。所以我使用FilterExpression。这是我的全部功能:

var doc = require('dynamodb-doc');
var dynamo = new doc.DynamoDB();

exports.handler = function(event, context) {
    var params = {
        TableName: 'mytable',
        FilterExpression: 'contains(approval, :approval_value)',
        ExpressionAttributeValues: {':approval_value': 'pending'}
    };

    dynamo.scan(params, onScan);

    function onScan(err, data) {
        if (err) {
            console.error("Unable to scan the table. Error JSON:", JSON.stringify(err, null, 2));
        } else {
            console.log("Scan succeeded.");
            context.succeed(data);
        }
    }
};
基本上,我想做一个“从mytable中选择*fromApproval,比如'pending'”,如果它是在SQL中的话


奇怪的是,只有一件物品被退回,而我正期待着3件。我没有使用限制。为什么它只返回一个项目?

Welp,令人尴尬的是,我读错了执行结果。它正确地返回了3个结果,但只有第一个项目出现在“折叠上方”(这可能是不使用AWS控制台的另一个原因)


希望上面的代码能够很好地工作,作为使用FilterExpression的一个简单示例,能够帮助其他人。

Welp,令人尴尬的是,我读错了执行结果。它正确地返回了3个结果,但只有第一个项目出现在“折叠上方”(这可能是不使用AWS控制台的另一个原因)


希望上面的代码能够帮助其他人使用FilterExpression。

什么是哈希/范围键?主分区键是“postID”。没有排序键。我不确定这是否回答了你的问题?我对noSQL比较陌生。您的哈希/范围键是什么?主分区键是“postID”。没有排序键。我不确定这是否回答了你的问题?我对noSQL比较陌生。