【问题标题】:Here I have shop and user latitude and longitude and i want to show shop list in order by在这里,我有商店和用户的纬度和经度,我想按顺序显示商店列表
【发布时间】:2021-08-18 11:53:46
【问题描述】:

在这里我有商店和用户的纬度和经度,我想在用户和商店的纬度和经度之间显示我的商店列表。我如何在 sequlize orm 中做到这一点

 const latitude = req.query.latitude; // user latitude 
 const longitude = req.query.longitude; // user longitutde 

 const shopLists = await Shop.findAll({
            limit,offset,
            attributes:["latitude","longitude"],
            where:{
                category_id:category_id,
                status:1,
            },
            include :{
                model:Category,attributes:['id','name']
            }
        });

【问题讨论】:

    标签: javascript express sequelize.js latitude-longitude google-latitude


    【解决方案1】:
    const limit;
    // what is offset?
    const shopLists = await Shop.findAll({
        where: {
            longitude: {
                [Op.ne]: null,
            },
            latitude: {
                [Op.ne]: null,
            },
            [Op.and]: [
                Sequelize.where(
                    Sequelize.fn(
                        'ST_Distance',
                        Sequelize.fn('point', Sequelize.col('longitude'), Sequelize.col('latitude')),
                        Sequelize.fn('point', longitude, latitude),
                    ),
                    '<',
                    limit,
                ),
            ],
        },
    })
    
    

    【讨论】:

    • bro 偏移量是页码..btw 这不起作用我确实传递了用户纬度和经度,但我无法获取数据,它返回一个空数组。终端显示此 ST_Distance(point(23.7873, 90.3514), point(23.7873, 90.3514)) IS NULL ..
    猜你喜欢
    • 2021-10-22
    • 1970-01-01
    • 2012-02-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-09-26
    • 2016-10-15
    相关资源
    最近更新 更多