当前位置: 首页 > 面试题库 >

将Golang JSON存储到Postgresql中

骆昊阳
2023-03-14
问题内容

我想将某个结构存储到其中具有JSON字段的数据库中。

type Comp struct {
    CompId               int64           `db:"comp_id" json:"comp_id"`
    StartDate            time.Time       `db:"start_date" json:"start_date"`
    EndDate              time.Time       `db:"end_date" json:"end_date"`
    WeeklySchedule       json.RawMessage `db:"weekly_schedule" json:"weekly_schedule"`
}

该表的架构为:

CREATE TABLE IF NOT EXISTS Tr.Comp(
    comp_id                 SERIAL,
    start_date              timestamp NOT NULL,
    end_date                timestamp NOT NULL,
    weekly_schedule         json NOT NULL,
    PRIMARY KEY (comp_id)
);

我在项目中使用sqlx和lib / pq驱动程序,并且不会执行以下操作。相反,它惊慌地说有一个零指针。DB是全局*sqlx.DB结构

    tx := DB.MustBegin()

    compFixture := Comp{
        StartDate:            time.Now(),
        EndDate:              time.Now().AddDate(1, 0, 0),
        WeeklySchedule:       json.RawMessage([]byte("{}")),
    }
    _, err = tx.NamedExec(
        `INSERT INTO 
            Tr.Comp(comp_id, 
                start_date, end_date, weekly_schedule) 
            VALUES (DEFAULT, 
                :start_date, :end_date, :weekly_schedule)  
            RETURNING comp_id;`, compFixture)
    if err != nil {
        t.Fatal("Error creating fixture.", err)
    }

当我weekly_schedule从架构和固定装置中删除时,一切运行正常。但是由于某种原因,当包含此字段时,程序会出现紧急情况。关于如何weekly_schedule在数据库模式和Go结构中定义字段的任何想法?


问题答案:

SQLX有一个类型JSONTextgithub.com/jmoiron/sqlx/types,会做你需要什么

JSONText的文档



 类似资料:
  • 告诉我如何在Azure存储帐户中存储PostgreSQL数据库数据。PostgreSQL部署到Azure容器实例。当我重新启动Azure容器实例时,所有数据都会消失。Dockerfile 来自Timescale/Timescaledb:Latest-PG12 az容器创建--resource-group test-env--name test-env--image test-env.azureca

  • 在本文中,我们将学习如何将PostgreSQL备份存储到MinIO Server。 1. 前提条件 从这里下载并安装mc。 从这里下载并安装MinIO Server。 PostgreSQL官方文档. 2. 配置步骤 MinIO服务正在使用别名m1运行。从MinIO客户端完整指南MinIO客户端完全指南了解详情。PostgreSQL备份存储在pgsqlbkp目录下。 创建一个存储桶。 mc mb m

  • 问题内容: 有人可以告诉我,在以下情况下如何进行? 接收文件(MS文件,ODS,PDF) 通过Apache Tika提取公元核心元数据+通过jackrabbit-content-extractors提取内容 使用Jackrabbit将文档(内容)及其元数据存储到存储库中 ? 检索文档+元数据 我对第3点和第4点感兴趣… 详细信息:该应用程序正在以交互方式处理文档(一些分析-语言检测,单词计数等。+

  • 问题内容: 由于数学上的限制,我不得不使用BigInteger类来表示值。 经过一些计算后,我想将结果(由2x BigInteger实例提供)存储到Mysql中… 存储此类对象的最佳数据类型是什么? 我在考虑使用Blob存储这些结果的二进制格式(128位)吗?但我想避免不必要的类型转换。 问题答案: 我建议使用Blob,然后使用构造函数从字节数组转到BigInteger,然后从另一种方法开始使用。

  • 我想把下面的json对象存储到postgresql数据库中。 你能告诉我在PostgreSQL中应该使用什么数据类型吗?提前谢了。

  • 我最近在学习如何阅读