Amazon dynamodb 如何使用节点js查询Dynamodb中的多列

Amazon dynamodb 如何使用节点js查询Dynamodb中的多列,amazon-dynamodb,Amazon Dynamodb,我正在与Dynamodb和Nodejs合作一个项目。我需要一个查询多个字段的解决方案,如select*fromtable,其中name=this,age=22,active=this,area=this。我需要一个解决方案,只有查询扫描是不允许给我的。如果可能的话,请让我知道一个示例nodejs脚本。这是代码 1) 更改表名 2) 如果您正在使用AWS DynamoDB服务,请更改登录凭据。下面的代码使用本地DynamoDB服务 var AWS = require("aws-sdk"); va

我正在与Dynamodb和Nodejs合作一个项目。我需要一个查询多个字段的解决方案,如
select*fromtable,其中name=this,age=22,active=this,area=this
。我需要一个解决方案,只有查询扫描是不允许给我的。如果可能的话,请让我知道一个示例nodejs脚本。

这是代码

1) 更改表名

2) 如果您正在使用AWS DynamoDB服务,请更改登录凭据。下面的代码使用本地DynamoDB服务

var AWS = require("aws-sdk");

var creds = new AWS.Credentials('akid', 'secret', 'session');

AWS.config.update({
    region : "us-west-2",
    endpoint : "http://localhost:8000",
    credentials : creds
});

var docClient = new AWS.DynamoDB.DocumentClient();

var table = "tablename";

var params = {
    TableName : table,
    KeyConditionExpression : 'personId = :personIdval', 
    FilterExpression : '#name= :nameVal and age= :ageVal and active=:activeVal and area=:areaVal',
     ExpressionAttributeNames : {
        '#name' : 'name'
    },
    ExpressionAttributeValues : {
        ':personIdval' : '7',
        ':nameVal' : 'this',
        ':ageVal' : 22,
        ':activeVal' : 'this',
        ':areaVal' : 'this'
    }
};

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));
    }
});
这是代码

1) 更改表名

2) 如果您正在使用AWS DynamoDB服务,请更改登录凭据。下面的代码使用本地DynamoDB服务

var AWS = require("aws-sdk");

var creds = new AWS.Credentials('akid', 'secret', 'session');

AWS.config.update({
    region : "us-west-2",
    endpoint : "http://localhost:8000",
    credentials : creds
});

var docClient = new AWS.DynamoDB.DocumentClient();

var table = "tablename";

var params = {
    TableName : table,
    KeyConditionExpression : 'personId = :personIdval', 
    FilterExpression : '#name= :nameVal and age= :ageVal and active=:activeVal and area=:areaVal',
     ExpressionAttributeNames : {
        '#name' : 'name'
    },
    ExpressionAttributeValues : {
        ':personIdval' : '7',
        ':nameVal' : 'this',
        ':ageVal' : 22,
        ':activeVal' : 'this',
        ':areaVal' : 'this'
    }
};

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));
    }
});

请提供此表的键属性以提供解决方案。@您可以使用personId作为键属性。请提供此表的键属性以提供解决方案。@您可以使用personId作为键属性。