如何使用nodejs和georedis发送多个对象?

我在Redis DB中有4套,我想从所有4套中的位置靠近,并作为api结果发回,下面的代码工作正常,但我只用了一套,但我的要求是从所有4套,请帮助我。

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); } }); 

您可以从4套并行或顺序查询并发送。 我build议使用像async或bluebird这样的promise来做并行查询并将它们连接在一起并发送响应。 希望这有助于,让我知道如果你有任何进一步的问题