WalzoneInterview Prep
📞 Interviewing soon? Practice with a realistic AI mock phone interview — it calls you, then scores you. First 15 min FREE →

MongoDB · Expert · question 67 of 100

Explain the concept of geospatial indexing in MongoDB, and how it can be used to perform location-based queries.?

📕 Buy this interview preparation book: 100 MongoDB questions & answers — PDF + EPUB for $5

Geospatial indexing in MongoDB is a feature that allows for the indexing of data based on geospatial information, such as latitude and longitude coordinates. This type of indexing makes it possible for developers to efficiently perform location-based queries on large datasets.

In MongoDB, geospatial indexing is achieved through the use of a special type of index called a geospatial index. To create a geospatial index, developers must specify which field(s) in their documents contain geospatial data. Once this index has been created, queries against the database can make use of it to perform various types of geospatial operations, such as finding all documents within a certain distance from a given point, or finding all documents that intersect with a given geospatial shape.

One common use case for geospatial indexing in MongoDB is in the development of location-based applications. For example, an app that helps users find the nearest restaurant, gas station, or hospital would require access to a database of geospatial information. By using a geospatial index, developers can perform fast and efficient queries to find the closest matches to a given location.

Consider the following example. Suppose we have a collection of documents representing retail stores, each of which includes a name, address, and location field:

{
    "name": "Walmart",
    "address": "123 Main St",
    "location": {
        "type": "Point",
        "coordinates": [-122.416943, 37.7749]
    }
}

To enable efficient querying based on the ‘location‘ field, we can create a geospatial index like so:

db.stores.createIndex({ location: "2dsphere" })

This will create a geospatial index for the ‘location‘ field using the ‘2dsphere‘ method, which supports querying based on spherical coordinates (i.e. latitude and longitude).

With this index in place, we can perform a wide range of location-based queries on the ‘stores‘ collection. For example, to find all stores within a certain distance of a given point, we can use the ‘$nearSphere‘ operator:

db.stores.find({
    location: {
        $nearSphere: {
            $geometry: {
                type: "Point",
                coordinates: [-122.41669, 37.78581]
            },
            $maxDistance: 500
        }
    }
})

This query will find all stores within 500 meters of the point (-122.41669, 37.78581).

Overall, geospatial indexing in MongoDB is a powerful tool for working with location-based data. By leveraging the geospatial index, developers can quickly and efficiently perform complex queries, making it easier to build high-performance location-based applications.

Reading is step one. Saying it out loud is the interview. Our AI interviewer calls your phone and runs a realistic MongoDB interview — then scores it.
📞 Practice MongoDB — free 15 min
📕 Buy this interview preparation book: 100 MongoDB questions & answers — PDF + EPUB for $5

All 100 MongoDB questions · All topics