如何在本地使用GlobalSecondaryIndexes在DynamoDB上创build表?

我DynamoDB在Windows 7本地安装。我的项目是一个Node.js(0.12.0),我使用aws-sdk。

版本DynamoDB:2012-08-10

这项工作 – >

dynamodb.createTable({ TableName: 'Users', AttributeDefinitions: [{AttributeName: 'userId', AttributeType: 'S'}], KeySchema: [{AttributeName: 'userId', KeyType: 'HASH'}], ProvisionedThroughput: { 'ReadCapacityUnits': 5, 'WriteCapacityUnits': 5 } }, function () { ... }); 

这不起作用 – >

 dynamodb.createTable({ TableName: 'Users', AttributeDefinitions: [{AttributeName: 'userId', AttributeType: 'S'}], KeySchema: [{AttributeName: 'userId', KeyType: 'HASH'}], ProvisionedThroughput: { 'ReadCapacityUnits': 5, 'WriteCapacityUnits': 5 }, GlobalSecondaryIndexes: [ { IndexName: 'longitudeUserIndex', KeySchema: [ { AttributeName: 'userId', KeyType: 'HASH' }, { AttributeName: 'longitude', KeyType: 'RANGE' } ], Projection: { NonKeyAttributes: [ ], ProjectionType: 'KEYS_ONLY' }, ProvisionedThroughput: { 'ReadCapacityUnits': 5, 'WriteCapacityUnits': 5 } } ] }, function () { ... }); 

Doc DynamoDB Javascript: http ://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/DynamoDB.html#createTable-property

我解决了我的问题。

我join了AttributeDefinitions的经度。

 AttributeDefinitions: [{AttributeName: 'userId', AttributeType: 'S'}, {AttributeName: 'longitude', AttributeType: 'N'}]