Get Even More Visitors To Your Blog, Upgrade To A Business Listing >>

MongoDB Node.js geolocation

MongoDB Node.js geolocation

Problem

I was wondering if there are any examples that consist on basic geolocation input and database retrieval of given inputs within a certain area, preferably the user's current location.

Problem courtesy of: DasBoot

Solution

Here's a quick overview of geospatial queries in MongoDB:

  1. You have to insert location information in your collection via 2D array

    db.example.insert( {"location": [x,y], "category": "restaurant"})
    
  2. Set up a geospatial indexes on the collection by indicating the location field with "2d" option.

    db.example.ensureIndex( { "location" : "2d" } )
    

    Now the collection will have an index which all geospatial queries will be done against.

  3. To query for locations nearby a point (i.e. the user's current location), use the find() command with $near operand on the location field giving the point coordinates (i.e. 100, 100.)

    db.example.find( { "location": { $near : [100, 100] } } )
    
  4. To find Users Current location, you would need higher level application support to get the user's current information.

For more information:

  • MongoDB documentation: http://www.mongodb.org/display/DOCS/Geospatial+Indexing

  • The $near operator: http://docs.mongodb.org/manual/reference/operators/#_S_near

Solution courtesy of: andrewleung

Discussion

View additional discussion.



This post first appeared on Node.js Recipes, please read the originial post: here

Share the post

MongoDB Node.js geolocation

×

Subscribe to Node.js Recipes

Get updates delivered right to your inbox!

Thank you for your subscription

×