MongoDB
 sql >> база данни >  >> NoSQL >> MongoDB

как да използвам geoNear в nodejs?

Използвайте $geoNear оператор за тръбопровода за агрегиране (наличен, ако използвате MongoDB 2.4 или по-нова версия). Например:

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. MongoDB заявка във вложен масив

  2. MongoDB филтрира съдържанието на масив от обекти въз основа на член на обект

  3. mongodb v3.2 не може да работи в mac

  4. Приложение, подобно на Twitter, използващо MongoDB

  5. Защо в крайна сметка получавам java.lang.IllegalArgumentException за Casbah / Java MongoDB драйвер?