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."