当我使用*运算符选择所有元素实现查询时,查询不会映射到结构。
query := gocb.NewN1qlQuery("SELECT * FROM `item-bucket` WHERE itemBarcode=$1")
queryParams = append(queryParams, itemBarcode)
rows, err := itemBucket.ExecuteN1qlQuery(query, queryParams)
var row ItemEntity
for rows.Next(&row) {
fmt.Printf("Results: %+v\n", row)
}但是,当我将每个字段添加到查询中时,它将被直接映射。
query := gocb.NewN1qlQuery("SELECT itemBarcode, color, price FROM `item-bucket` WHERE itemBarcode=$1")
queryParams = append(queryParams, itemBarcode)
rows, err := itemBucket.ExecuteN1qlQuery(query, queryParams)
var row ItemEntity
for rows.Next(&row) {
fmt.Printf("Results: %+v\n", row)
}是否有一种使用*操作符直接映射到struct的方法?
该项目的Go版本为1.6
发布于 2022-03-15 03:00:16
查看一下[医]平方,其中他们的自述文件包含使用像SELECT * FROM x这样的查询的示例。如果数据库列名与结构字段名不直接匹配,则可以将它们指定为结构标记,如下所示:
type ItemBucket struct {
ItemBarcode string `db:"itemBarcode"`
Color string `db:"last_name"`
...
}https://stackoverflow.com/questions/71470040
复制相似问题