2016-07-07 5 views
2

私は赤いDBに4つのセットを持っています、私はすべての4つのセットからの場所によって近くに行きたい、私は唯一のセットを使用しているときにコードがうまくいきます。すべての4つのセットは、私を助けてください。以下はnodejsとgeoredisを使って複数のオブジェクトを送信するには?

router.route('/get_near_by').post(function(req, res) { 

var geo = georedis.initialize(client, { 
    zset: 'LocationsSet', 
    nativeGeo: false 
}); 
var luxuryXL = geo.addSet('luxuryXL'); 
var luxurySedan = geo.addSet('luxurySedan'); 
var sedanFour = geo.addSet('sedanFour'); 
var sedanSix = geo.addSet('sedanSix'); 
var lat = req.body.lat; 
var lng = req.body.lng; 
var result = []; 

var options = { 
    withCoordinates: true, // Will provide coordinates with locations, default false 
    withHashes: true, // Will provide a 52bit Geohash Integer, default false 
    withDistances: true, // Will provide distance from query, default false 
    order: 'ASC', // or 'DESC' or true (same as 'ASC'), default false 
    units: 'km', // or 'km', 'mi', 'ft', default 'm' 
    count: 10, // Number of results to return, default undefined 
    accurate: true // Useful if in emulated mode and accuracy is important, default false 
}; 

luxuryXL.nearby({latitude: lat, longitude: lng}, 5000, options, function(err, luxuryXL){ 
    if(err) { 
     console.error(err) 
    } else { 
     return res.send(luxuryXL); 
    } 
    }); 
}); 

私が試したコードですが、彼らは働いていない -

luxuryXL.nearby({latitude: lat, longitude: lng}, 5000, options, function(err, luxuryXL){ 
    if(err) { 
     console.error(err) 
    } else { 
     result['a'] = res.send(luxuryXL); 
    } 
}); 

答えて

0

あなたが並列または連続して4セットから照会し、それらを送信することができます。 asyncやbluebirdのような約束を使用して、並列クエリを行い、それらを一緒に結合し、応答を送信することをお勧めします。希望があれば、これ以上のご質問があれば教えてください。

+0

上記のケースコードの例を書くことができますか? –

関連する問題