为了账号安全,请及时绑定邮箱和手机立即绑定

如何使用 go pg CRUD Postgres Point 数据类型

如何使用 go pg CRUD Postgres Point 数据类型

Go
白猪掌柜的 2023-06-19 15:34:41
我正在使用 Point 数据类型在 Postgres DB 中存储坐标。如何将 Point 数据类型映射到 Go lang 数据类型?我没有找到任何相同的文档。
查看完整描述

1 回答

?
SMILET

TA贡献1796条经验 获得超4个赞

go-pg 没有对 Point 类型的本地支持(从 PostGIS 开始)。我所做的立交桥(可能不是最好的解决方案,但我确实设法让它工作)是在我的模型上放置单独的纬度和经度字段,并在查询本身上使用(对于经度)获取单独的ColumnExpr值ST_X) 和ST_Y(对于纬度,不要忘记)。


模型:


type MyModel struct {

    ID              int64

    Name            string

    LocationLat     float64

    LocationLon     float64

}

询问:


err := db.Model(&myModel).

        Column("id", "name").

        ColumnExpr("ST_X(location) AS location_lon").

        ColumnExpr("ST_Y(location) AS location_lat").

        Where("id = ?", id).

        Select()


查看完整回答
反对 回复 2023-06-19
  • 1 回答
  • 0 关注
  • 85 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信