MongoDB
 sql >> Baza danych >  >> NoSQL >> MongoDB

jak korzystać z geoNear w nodejs?

Użyj $geoNear operator potoku agregacji (dostępny, jeśli używasz MongoDB 2.4 lub nowszego). Na przykład:

var mongodb = require('mongodb') 
  , MongoClient = mongodb.MongoClient
  , express = require('express')
  , app = express();
var db;

MongoClient.connect(process.env.MONGOHQ_URL, function(err, database) {
        db = database;
        app.listen(1337);
});

app.get('/geospatial', function(req, res) {
      db.collection('collection_name').aggregate([
      { 
            "$geoNear": {
                "near": {
                     "type": "Point",
                     "coordinates": [parseFloat(req.params.lng), parseFloat(req.params.lat)]
                 },
                 "distanceField": "distance",
                 "maxDistance": 200,
                 "spherical": true,
                 "query": { "loc.type": "Point" }
             }
        },
        { 
             "$sort": {"distance": -1} // Sort the nearest first
        } 
    ],
    function(err, docs) {
         res.json(docs);       
    });      
});



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Mongo db - Odpytywanie zagnieżdżonej tablicy i obiektów

  2. Aktualizuj zagnieżdżone obiekty tablicowe na podstawie właściwości w MongoDB

  3. MongoDB:Jak poprawnie wyeksportować kolekcję z MongoDB na mój komputer?

  4. Przechowywanie System.Type za pomocą MongoDb

  5. Dlaczego uruchomienie samodzielnej instancji MongoDB jako zestawu replik nie jest zalecane w środowisku produkcyjnym?