gpt4 book ai didi

node.js - 如何使用 nodejs 和 georedis 发送多个对象?

转载 作者:IT王子 更新时间:2023-10-29 06:07:36 25 4
gpt4 key购买 nike

我在 redis 数据库中有 4 个集合,我想靠近所有 4 个集合的位置并作为 api 结果发回,当我只使用 1 个集合时,下面的代码工作正常,但我的要求是得到从所有 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 ​​个集合并发送它们。我建议使用像 async 或 bluebird 这样的 promise 来进行并行查询并将它们连接在一起并发送响应。希望这对您有所帮助,如果您还有其他问题,请告诉我

关于node.js - 如何使用 nodejs 和 georedis 发送多个对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38238402/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com