在DynamoDB中,如果我的表中有哈希键和范围键,如何进行更新或创建if not found方法。如果我有一个只有一个哈希键的表,但是没有带有哈希和范围键的表,则下面有效:
var save = function(user_id, store_id, callback){
var DOC = require('dynamodb-doc'),
docClient = new DOC.DynamoDB();
var params = {
TableName: 'stores',
ReturnValues: 'NONE',
Key: {
'user_id': user_id
},
ConditionExpression: "#a = :store_id_val",
UpdateExpression: 'SET #a = :store_id_val',
ExpressionAttributeNames: {
'#a': 'store_id'
},
ExpressionAttributeValues: {
':store_id_val': store_id
}
};
// Save DynamoDB Document
docClient.updateItem(params, function(error, response) {
return callback(error, response);
});
}
答案 0 :(得分:0)
很简单。我只需要在Key
参数中指定哈希和范围键。然后我就可以逃脱这个:
var save = function(user_id, store_id, callback) {
var DOC = require('dynamodb-doc'),
docClient = new DOC.DynamoDB();
var params = {
TableName: 'stores',
ReturnValues: 'NONE',
Key: {
'user_id': user_id,
'store_id': store_id
}
};
// Save DynamoDB Document
docClient.updateItem(params, function(error, response) {
return callback(error, response);
});
}