猿问

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

我正在使用 Point 数据类型在 Postgres DB 中存储坐标。如何将 Point 数据类型映射到 Go lang 数据类型?我没有找到任何相同的文档。



白猪掌柜的
浏览 93回答 1
1回答

SMILET

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()
随时随地看视频慕课网APP

相关分类

Go
我要回答