Geospatial Indexes
Geospatial Indexes: free step-by-step lesson with examples, common mistakes, and interview tips — part of MongoDB Tutorial on Toolliyo Academy.
On this page
MongoDB Tutorial · Lesson 45 of 100
Geospatial Indexes
Foundations & CRUD ✓ → Queries & Schema → Aggregation & Scale → Atlas & Projects
Queries & Schema · 2 — Design · ~6 min · MongoDB — Indexing & Performance
What is this?
Geospatial indexes (2dsphere) let you query earth coordinates with $near, $geoWithin, and GeoJSON points/polygons. Store location as GeoJSON or legacy pairs.
Why should you care?
Food delivery, cab apps, and store locators need “restaurants near me” — geospatial queries are built for that.
See it live — copy this example
Open mongosh or MongoDB Compass, select database nosqlverse, then run the example. Change one field and run again.
db.stores.insertMany([
{ name: "Cafe A", location: { type: "Point", coordinates: [77.5946, 12.9716] } }, // Bengaluru
{ name: "Cafe B", location: { type: "Point", coordinates: [72.8777, 19.0760] } } // Mumbai
])
db.stores.createIndex({ location: "2dsphere" })
db.stores.find({
location: {
$near: {
$geometry: { type: "Point", coordinates: [77.6, 12.97] },
$maxDistance: 5000
}
}
})
Run Example »
Edit the code below and click Run to see the result in Toolliyo’s live editor.
What happened?
- coordinates are [longitude, latitude] — easy to swap by mistake.
- 2dsphere index supports $near.
- The query returns cafes within 5000 meters of a Bengaluru point — Cafe A.
Practice next
- Insert the two stores.
- Create 2dsphere index.
- Run $near from Bengaluru.
- Add category and compound index if needed carefully.
- Use $maxDistance: 1000 for a tighter radius.
Remember
2dsphere indexes GeoJSON locations. $near finds closest places. Coordinates are [lng, lat].
Swiggy restaurant radius
App sends user coordinates; API finds open restaurants within X km.
Outcome: Only deliverable kitchens appear in the list.
Interview prep for this lesson
Practice these questions aloud after reading—each links to a full structured answer.
Sign in to ask a question or upvote helpful answers.
No questions yet — be the first to ask!