Lesson 11 of 14

Soft Deletes without Destroying Indexes - 012

Data delete cheyyakunda isDeleted: true pedtunnara? Bane undi, kani Unique Index unte idoka pedda headache!

Core Explanation: Soft Delete (isDeleted: true) valla data recovery easy. Kani queries lo isDeleted: false ani prati dantlo pettali. Pedda issue entante Unique Constraints. Example: Email unique undali. User ni soft delete chesi, ade email tho kotha user create chesthe? Duplicate Error vastundi because old one is still there!

Wrong Practice: Simple Unique Index with Soft Deletes.

db.users.createIndex({ "email": 1 }, { unique: true })
// Soft deleted user prevents new user with same email

Best Practice: Partial Unique Index.

db.users.createIndex(
  { "email": 1 },
  { 
    unique: true, 
    partialFilterExpression: { isDeleted: { $eq: false } } 
  }
)

Ippudu only active users ke uniqueness check jarugutundi.

Closing Insight: "Soft delete vaadutunnara? Partial Indexes mee best friend."