Indexes help find data faster in a database. The direction (ascending or descending) tells the database how to sort the data inside the index.
Index direction (ascending vs descending) in MongoDB
db.collection.createIndex({ fieldName: 1 }) // ascending index
db.collection.createIndex({ fieldName: -1 }) // descending indexUse 1 for ascending order and -1 for descending order.
The direction affects sorting and can improve query speed when used correctly.
age field, helping queries that sort or filter by age in ascending order.db.users.createIndex({ age: 1 })orderDate field, helping queries that sort or filter by order date from newest to oldest.db.orders.createIndex({ orderDate: -1 })price ascending and rating descending. Useful for queries sorting by price ascending and rating descending.db.products.createIndex({ price: 1, rating: -1 })This example creates an ascending index on the price field in the products collection. Then it inserts some products and queries them sorted by price from low to high.
use shopDB
db.products.createIndex({ price: 1 })
// Insert sample data
db.products.insertMany([
{ name: "Pen", price: 1.5 },
{ name: "Notebook", price: 3.0 },
{ name: "Pencil", price: 1.0 }
])
// Query sorted by price ascending
db.products.find().sort({ price: 1 }).toArray()Ascending and descending indexes both speed up queries, but choose direction based on how you sort your data.
MongoDB can use an ascending index for descending sorts and vice versa, but specifying direction helps optimize compound indexes.
Creating unnecessary indexes can slow down writes, so only create indexes you need.
Indexes store data in order: ascending (1) or descending (-1).
Choose index direction based on how you sort or filter your queries.
Compound indexes can mix ascending and descending directions for multiple fields.