0
0
MongoDBquery~30 mins

Soft delete pattern in MongoDB - Mini Project: Build & Apply

Choose your learning style9 modes available
Soft Delete Pattern in MongoDB
📖 Scenario: You are managing a user database for a web application. Instead of permanently deleting user records, you want to mark them as deleted so you can restore them later if needed.
🎯 Goal: Build a MongoDB collection with a soft delete pattern by adding a deleted field to user documents and write queries to filter out deleted users.
📋 What You'll Learn
Create a users collection with sample user documents
Add a deleted field to each user document to mark soft deletion
Write a query to find only users who are not deleted
Write a query to mark a user as deleted by setting deleted to true
💡 Why This Matters
🌍 Real World
Soft delete is used in many applications to avoid losing data permanently and to allow recovery of deleted records.
💼 Career
Understanding soft delete patterns is important for database management roles and backend development jobs where data integrity and recovery are critical.
Progress0 / 4 steps
1
Create the users collection with sample data
Create a users collection with these exact documents: { _id: 1, name: "Alice", deleted: false }, { _id: 2, name: "Bob", deleted: false }, and { _id: 3, name: "Charlie", deleted: false }.
MongoDB
Need a hint?

Use db.users.insertMany() to add multiple documents at once.

2
Add a helper variable for the soft delete filter
Create a variable called activeUsersFilter and set it to { deleted: false } to select only users who are not deleted.
MongoDB
Need a hint?

Use const activeUsersFilter = { deleted: false } to create the filter.

3
Write a query to find all active (not deleted) users
Write a query using db.users.find() with the filter variable activeUsersFilter to find all users where deleted is false.
MongoDB
Need a hint?

Use db.users.find(activeUsersFilter) to get active users.

4
Mark a user as deleted using an update query
Write an update query using db.users.updateOne() to set deleted to true for the user with _id equal to 2.
MongoDB
Need a hint?

Use db.users.updateOne({ _id: 2 }, { $set: { deleted: true } }) to mark the user as deleted.