0
0
MongoDBquery~5 mins

Why consistency levels matter in MongoDB

Choose your learning style9 modes available
Introduction

Consistency levels tell us how up-to-date and reliable the data we read from a database is. They help make sure everyone sees the same information at the right time.

When you want to make sure your app shows the latest data after a change.
When multiple users update the same data and you want to avoid conflicts.
When you need fast responses and can accept slightly older data.
When you want to balance between speed and accuracy in your app.
When building apps that work offline and sync later.
Syntax
MongoDB
db.collection.find().readConcern('level')

readConcern sets the consistency level for reading data.

Common levels include local, majority, and linearizable.

Examples
Reads data from the node you connect to, may not be the latest.
MongoDB
db.orders.find().readConcern('local')
Reads data that has been confirmed by most nodes, more up-to-date.
MongoDB
db.orders.find().readConcern('majority')
Reads the absolute latest data, ensuring full consistency.
MongoDB
db.orders.find().readConcern('linearizable')
Sample Program

This example inserts an order and reads it back with two different consistency levels to show how data freshness can vary.

MongoDB
use shopDB
// Insert a new order
db.orders.insertOne({orderId: 1, item: 'Book', quantity: 2})

// Read with local consistency
var localRead = db.orders.find({orderId: 1}).readConcern('local').toArray()

// Read with majority consistency
var majorityRead = db.orders.find({orderId: 1}).readConcern('majority').toArray()

[localRead, majorityRead]
OutputSuccess
Important Notes

Higher consistency levels can slow down reads because they wait for more confirmations.

Lower consistency levels are faster but might show older data.

Choose the level based on what your app needs: speed or accuracy.

Summary

Consistency levels control how fresh and reliable your data reads are.

Use higher levels for accuracy and lower levels for speed.

Understanding consistency helps build better, more reliable apps.