sql >> データベース >  >> NoSQL >> MongoDB

nodejsでgeoNearを使用する方法は?

    $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. MongoDB $ year

    2. MongoDB $ concat

    3. Mongodb monogorestoreルートディレクトリは、単一のデータベースのダンプである必要があります

    4. この更新クエリが1つのレコードのみを更新する理由