0
0
DynamodbConceptBeginner · 3 min read

Null and Boolean in DynamoDB: What They Are and How to Use

In DynamoDB, Null represents an attribute with no value, explicitly indicating absence of data, while Boolean stores true or false values. These types help model optional or binary state data clearly in your tables.
⚙️

How It Works

Think of DynamoDB attributes like labeled boxes where you store information. Sometimes, a box might be empty on purpose—that's what Null means: the box exists but holds no value. This is different from the box not existing at all.

The Boolean type is like a simple switch in your box that can be either ON (true) or OFF (false). It helps you represent yes/no or true/false conditions clearly.

Using these types helps DynamoDB understand your data better, so it can store and retrieve it efficiently while keeping your data meaningful.

💻

Example

This example shows how to store an item with a Null attribute and a Boolean attribute in DynamoDB using AWS SDK for JavaScript.

javascript
import { DynamoDBClient, PutItemCommand } from "@aws-sdk/client-dynamodb";

const client = new DynamoDBClient({ region: "us-east-1" });

async function putItem() {
  const params = {
    TableName: "Users",
    Item: {
      "UserId": { S: "user123" },
      "IsActive": { BOOL: true },
      "MiddleName": { NULL: true }
    }
  };

  try {
    const data = await client.send(new PutItemCommand(params));
    console.log("Item inserted successfully", data);
  } catch (err) {
    console.error("Error inserting item", err);
  }
}

putItem();
Output
Item inserted successfully {}
🎯

When to Use

Use Null when you want to explicitly say that an attribute has no value, such as when a user hasn't provided optional information. This is better than omitting the attribute because it shows the attribute was considered.

Use Boolean to represent simple true/false states, like whether a user is active, a feature is enabled, or a task is completed. It makes your data easier to read and query.

For example, in a user profile, you might store IsVerified as a boolean and PhoneNumber as null if the user hasn't added one yet.

Key Points

  • Null means the attribute exists but has no value.
  • Boolean stores true or false values clearly.
  • Using these types improves data clarity and querying.
  • Null is useful for optional or missing data.
  • Boolean is ideal for binary state flags.

Key Takeaways

Null in DynamoDB explicitly marks an attribute as having no value.
Boolean stores true or false to represent binary states clearly.
Use Null for optional or missing data to keep schema consistent.
Use Boolean for flags like active status or feature toggles.
These types help make your data easier to understand and query.