我正在本地开发nodejs / dynamodb应用程序。我遇到了将项目放入数据库的问题。创建表格工作正常,当我插入一个项目时,表示项目已成功插入,但显示已插入空项目
“已添加项目:{}”
它应该显示该项目的用户名为“bob”,密码为“password”。我使用的是最新版本的nodejs,npm,dynamodb local和javascript aws-sdk。
var dynamodb = new AWS.DynamoDB();
var dynamodbDoc = new AWS.DynamoDB.DocumentClient();
var createUsersTable= {
TableName : "Users",
KeySchema: [
{ AttributeName: "username", KeyType: "HASH"}
],
AttributeDefinitions: [
{ AttributeName: "username", AttributeType: "S" }
],
ProvisionedThroughput: {
ReadCapacityUnits: 1,
WriteCapacityUnits: 1
}
};
dynamodb.createTable(createUsersTable, function(err, data) {
if (err) {
console.error("Unable to create table. Error JSON:", JSON.stringify(err, null, 2));
} else {
console.log("Created table. Table description JSON:", JSON.stringify(data, null, 2));
}
});
setTimeout( function(){
var table = "Users";
var username = 'bob';
var params = {
TableName:table,
Item:{
"username": 'bob',
"password": 'password'
}
};
console.log("Adding a new item...");
dynamodbDoc.put(params, function(err, data) {
if (err) {
console.error("Unable to add item. Error JSON:", JSON.stringify(err, null, 2));
} else {
console.log("Added item:", JSON.stringify(data, null, 2));
}
});
}, 4000 );