如何在nodejs中使用geoNear?

2024-01-18

我想使用地理空间geoNear,mongodb中的数据库,Mongo查询:

db.runCommand(
   {
     geoNear: "tmp",
     near: { type: "Point", coordinates: [ 77.00000, 12.00000] },
     spherical: true,
     maxDistance : 200
   }
)

在 mongo 终端中给出结果,但如何使用 node.js 执行它 我正在使用 mongo-pool 和 generic-pool 进行 mongo 池化?


Use the $geoNear http://docs.mongodb.org/manual/reference/operator/aggregation/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);       
    });      
});
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在nodejs中使用geoNear? 的相关文章

随机推荐