In this article, you will know how you can perform different DynamoDB operations with Node Js. I am going to use aws-sdk for this article. So lets start…!
Firstly, we will need to setup node js application, that’s very easy and can be done following commands.
cd app_dir/
npm init
npm install aws-sdk --save
Or you can use yarn commands.
By init command, package.json file will be setup and by install command, aws-sdk will be installed and added in package.json file.
Now we can start coding. I supposed that you have any table in AWS DynamoDB.
Get Item:
To get item, we can use Partition key and/or Sort key. Following is the code for get item.
const AWS = require("aws-sdk")
AWS.config.update({ region: "us-east-1" })
const dynamoDB = new AWS.DynamoDB.DocumentClient()
dynamoDB
.get({
TableName: "table-name",
Key: {
id: "anyid123", // id is the Partition Key, 'anyid123' is the value of it
},
})
.promise()
.then(data => console.log(data.Item))
.catch(console.error)
Put Item (Write/update):
Put operation will add new item or replace if key already exists in table. Following is the code for put operation.
const AWS = require("aws-sdk")
const dynamoDB = new AWS.DynamoDB.DocumentClient({ region: "us-east-1" })
dynamoDB
.put({
Item: {
id: "anyid1245",
name: "John Doe",
email: "john@example.com",
},
TableName: "table-name",
})
.promise()
.then(data => console.log(data.Attributes))
.catch(console.error)
Update Item:
This operation consists of two parts. First get item by key, second update selected item with update expression. Following code will describe this clearly.
const AWS = require("aws-sdk")
AWS.config.update({ region: "us-east-1" })
const dynamoDB = new AWS.DynamoDB.DocumentClient()
dynamoDB
.update({
TableName: "table-name",
Key: {
id: "anyid234234",
},
UpdateExpression: `set firstName = :firstName`,
ExpressionAttributeValues: {
":firstName": "update name",
},
})
.promise()
.then(data => console.log(data.Attributes))
.catch(console.error)
We can also add condition expression by using ConditionExpression which has similar syntax as FilerExpression. Just add following expression in above code.
ConditionExpression: `attribute_not_exists(deletedAt),
Query operation:
If we want to get multiple records which share same partition key, then we can use Query operation. We can also use operators for Sort keys. Following is the code for reference.
const AWS = require('aws-sdk');
const dynamoDB = new AWS.DynamoDB.DocumentClient({region:'us-east-1'});
dynamoDB
.query({
TableName: 'table-name',
KeyConditionExpression: 'id = :hashKey and date > :rangeKey'
ExpressionAttributeValues: {
':hashKey': '2344',
':rangeKey': 20210511
}
})
.promise()
.then(data => console.log(data.Items))
.catch(console.error);
These are the some of operations, you can find more details in these documentation. Hope this will help.
I hope you already have WSL2 installed and enabled. So, setting up Apache2 on WSL2…
Install NVM on Windows Node Js is a JavaScript runtime environment used widely in today’s…
You can easily reset WSL 2 users' password, by just following the following steps. Open…
DreamHost a web hosting company, founded in 1997. It is offering sort of hosting services,…
Menus in WordPress are highly versatile and can be easily modified to change in your…
Laravel is famous and robust PHP framework, widely used in different type of projects. While…