使用Express / Node.JS / MongoDB进行地理空间查询

时间:2016-01-23 08:59:56

标签: node.js mongodb express

我是Express / Node.JS / MongoDB的新手,并尝试编写一个简单的查找工具来制作地理空间查询。

我使用托管的MongoDB(MongoLab),构建了索引,当我在他们的在线命令工具中运行地理空间搜索查询时,我能够获得回报。

这是routes目录中的代码副本,该文件名为query.js:

var Db = require('mongodb').Db;
var express = require('express');
var router = express.Router();

router.get('/query', function(req, res) {
    if (req.params) {
        console.log(req.params);
        var lon = parseFloat(req.query.longitude);
        var lat = parseFloat(req.query.latitude);

        Db.connect(process.env.MONGOLAB_URI, function (err, db) {
            if (err) return console.dir(err);

            db.collection('bfe_lines')
                .find({
                    "near": [lon, lat],
                    "num": 1,
                    "spherical": true
                }).toArray(function (err, docs) {
                if (err) {
                    return console.dir(err)
                }
                else {
                    console.log(docs)
                }
            })
        })
    }
    else {
        res.send("no joy");
    }
});

module.exports = router;

我回到命令行的响应如下所示:

GET / 304 14.003 ms - -
{}
GET /query?latitude=40.49973185600004&longitude=-88.99786877199995 500 5.683 ms - 534

感谢任何可以帮助我的人。

0 个答案:

没有答案