get
Introduction
get method performs get request using aws-sdk GetItemCommand.
Item in GetItemCommandOutput is fully typed based on your Schema declaration.
execute
get takes 2 arguments:
- item identifier (required)
- options (optionnal)
const res = await User.get("user-1", { ReturnConsumedCapacity: "TOTAL" });
res.Item?.firstname;
If your table is a composite table (HASH and RANGE) you must pass primaryIndex and sortKey as object.
const res = await User.get({
groupId: "group-1",
userId: "user-1",
});
options
options is an object which accepts GetItemCommandInput options and DynamoQL specific options.
exec
exec boolean directive to execute or not the actual request.
When false get will return GetItemCommandInput object.
import type { GetItemCommandInput } from "@aws-sdk/client-dynamodb";
const cmd: GetItemCommandInput = await User.get(
"user-1",
{ exec: false }
);
Select
Select accepts an array of attributes and produces a ProjectionExpression.
const res = await User.get(
"user-1",
{ Select: ["id", "isActive"] }
);
note
Select affects returned Item type.
const { Item } = await User.get("user-1", { Select: ["id", "isActive"] });
Item?.firstname; // Property 'firstname' does not exist on type { id: string; isActive?:boolean } ...
getterInfo
getterInfo allows you to pass any value to your Schema get function's third argument.
const res = await User.get(
"user-1",
{ getterInfo: { forFrontend: true } }
);