Bird
Raised Fist0
DynamoDBquery~5 mins

Return values on write in DynamoDB - Cheat Sheet & Quick Revision

Choose your learning style10 modes available

Start learning this pattern below

Jump into concepts and practice - no test required

or
Recommended
Test this pattern10 questions across easy, medium, and hard to know if this pattern is strong
Recall & Review
beginner
What does the ReturnValues parameter do in a DynamoDB write operation?
It controls what data is returned after a write operation like PutItem, UpdateItem, or DeleteItem. You can get back the old item, the new item, or nothing.
Click to reveal answer
intermediate
Name the possible values for ReturnValues in DynamoDB write operations.
  • NONE: Returns nothing (default).
  • ALL_OLD: Returns the item as it was before the write.
  • UPDATED_OLD: Returns only the updated attributes before the write.
  • ALL_NEW: Returns the item as it is after the write.
  • UPDATED_NEW: Returns only the updated attributes after the write.
Click to reveal answer
beginner
If you want to see the new values of an item after an update, which ReturnValues option should you use?
Use ALL_NEW to get the entire item as it looks after the update, or UPDATED_NEW to get only the attributes that changed.
Click to reveal answer
beginner
What is the default behavior of ReturnValues if you don't specify it in a write operation?
By default, ReturnValues is set to NONE, so the write operation returns no data about the item.
Click to reveal answer
intermediate
Why might you want to use ReturnValues in a real-world application?
It helps you confirm what changed or existed before the write without making a separate read request. For example, you can get the old item before deleting it or see updated fields after an update.
Click to reveal answer
What does ReturnValues: ALL_OLD return after a DeleteItem operation?
AThe item as it was before deletion
BThe item as it is after deletion
COnly the updated attributes after deletion
DNo data is returned
If you want no data returned after a write operation, which ReturnValues should you use?
AALL_NEW
BNONE
CUPDATED_NEW
DALL_OLD
Which ReturnValues option returns only the attributes that were updated, after an update?
AALL_OLD
BALL_NEW
CUPDATED_OLD
DUPDATED_NEW
Can ReturnValues be used with PutItem to get the new item after insertion?
AYes, use ALL_NEW
BNo, it only works with UpdateItem
CYes, use ALL_OLD
DNo, PutItem never returns data
What is a practical benefit of using ReturnValues in a write operation?
AIt speeds up the write operation
BIt encrypts the data automatically
CIt reduces the need for a separate read request
DIt backs up the item to another table
Explain the purpose of the ReturnValues parameter in DynamoDB write operations and list its main options.
Think about what you want to see after you change data.
You got /2 concepts.
    Describe a scenario where using ReturnValues would help avoid an extra read request.
    Imagine you want to confirm what changed immediately.
    You got /3 concepts.

      Practice

      (1/5)
      1. What does the ReturnValues parameter do in a DynamoDB write operation?
      easy
      A. It specifies what data should be returned after the write operation.
      B. It controls the write capacity units consumed by the operation.
      C. It sets the timeout duration for the write request.
      D. It defines the table where data will be written.

      Solution

      1. Step 1: Understand the role of ReturnValues

        The ReturnValues parameter tells DynamoDB what data to send back after a write, such as old or new item attributes.
      2. Step 2: Differentiate from other parameters

        ReturnValues does not affect capacity, timeout, or table selection; it only controls returned data.
      3. Final Answer:

        It specifies what data should be returned after the write operation. -> Option A
      4. Quick Check:

        ReturnValues controls returned data [OK]
      Hint: ReturnValues returns data after write, not capacity or timeout [OK]
      Common Mistakes:
      • Confusing ReturnValues with capacity settings
      • Thinking it sets request timeout
      • Assuming it selects the table
      2. Which of the following is the correct syntax to request the old item attributes after an update in DynamoDB using ReturnValues?
      easy
      A. "UPDATED_NEW"
      B. "NONE"
      C. "ALL_NEW"
      D. "ALL_OLD"

      Solution

      1. Step 1: Recall ReturnValues options

        ReturnValues can be NONE, ALL_OLD, UPDATED_OLD, ALL_NEW, UPDATED_NEW.
      2. Step 2: Identify option for old attributes after update

        "ALL_OLD" returns the entire item as it was before the update.
      3. Final Answer:

        "ALL_OLD" -> Option D
      4. Quick Check:

        Old attributes = ALL_OLD [OK]
      Hint: Old data after update is ALL_OLD [OK]
      Common Mistakes:
      • Using ALL_NEW to get old data
      • Confusing UPDATED_NEW with old data
      • Setting NONE expecting data back
      3. Given this DynamoDB update command snippet:
      {
        TableName: "Users",
        Key: { "UserId": "123" },
        UpdateExpression: "SET Age = :newAge",
        ExpressionAttributeValues: { ":newAge": 30 },
        ReturnValues: "UPDATED_NEW"
      }

      What will the response contain?
      medium
      A. The entire item before the update.
      B. Only the new Age attribute after the update.
      C. No attributes, just success confirmation.
      D. The entire item after the update.

      Solution

      1. Step 1: Understand ReturnValues "UPDATED_NEW" meaning

        This option returns only the attributes that were updated with their new values.
      2. Step 2: Apply to given update

        The update changes Age to 30, so response includes only Age with value 30.
      3. Final Answer:

        Only the new Age attribute after the update. -> Option B
      4. Quick Check:

        UPDATED_NEW returns updated attributes [OK]
      Hint: UPDATED_NEW returns only changed attributes with new values [OK]
      Common Mistakes:
      • Expecting full item back with UPDATED_NEW
      • Confusing UPDATED_NEW with ALL_NEW
      • Assuming no data returned with UPDATED_NEW
      4. You wrote this DynamoDB PutItem request:
      {
        TableName: "Products",
        Item: { "Id": "001", "Name": "Pen" },
        ReturnValues: "UPDATED_OLD"
      }

      But you get an error. What is wrong?
      medium
      A. ReturnValues must be set to "ALL_NEW" for PutItem.
      B. The Item attribute is missing required keys.
      C. "UPDATED_OLD" is invalid for PutItem operations.
      D. TableName is incorrect.

      Solution

      1. Step 1: Check ReturnValues compatibility with PutItem

        PutItem supports only NONE or ALL_OLD for ReturnValues; UPDATED_OLD is invalid.
      2. Step 2: Confirm other parameters

        Item and TableName are correct; error is due to invalid ReturnValues.
      3. Final Answer:

        "UPDATED_OLD" is invalid for PutItem operations. -> Option C
      4. Quick Check:

        PutItem supports NONE or ALL_OLD only [OK]
      Hint: PutItem allows NONE or ALL_OLD only for ReturnValues [OK]
      Common Mistakes:
      • Using UPDATED_OLD with PutItem
      • Assuming ALL_NEW required for PutItem
      • Mistaking missing keys as cause
      5. You want to update a user's email in DynamoDB and get back the entire updated item in one request. Which ReturnValues option should you use in your UpdateItem call?
      hard
      A. "ALL_NEW"
      B. "UPDATED_OLD"
      C. "NONE"
      D. "ALL_OLD"

      Solution

      1. Step 1: Understand the goal

        You want the full updated item returned after the update.
      2. Step 2: Match ReturnValues option

        "ALL_NEW" returns the entire item as it looks after the update.
      3. Final Answer:

        "ALL_NEW" -> Option A
      4. Quick Check:

        Full updated item = ALL_NEW [OK]
      Hint: Use ALL_NEW to get full updated item after update [OK]
      Common Mistakes:
      • Choosing UPDATED_OLD which returns old updated attributes
      • Using NONE expecting data back
      • Selecting ALL_OLD which returns old full item