我在postgres中定义了以下嵌套类型:
CREATE TYPE address AS (
name text,
street text,
zip text,
city text,
country text
);
CREATE TYPE customer AS (
customer_number text,
created timestamp WITH TIME ZONE,
default_billing_address address,
default_shipping_
我试图在go中开发一个api,允许用户指定任意数据结构,并根据自动生成的postgres数据库定义的结构,轻松地设置在自动生成postgres数据库上执行CRUD操作的端点。
目前,我一直在使用gorm,并且能够根据用户定义的一组结构自动生成数据库,该结构支持所有类型的关系(有一对多的关系,等等)。当通过端点发送JSON时,我还能够插入生成的数据库。
我发现的问题是,当我试图接收数据时。似乎许多go ORMs的缺点是将所有表中的数据映射回父结构的嵌套结构。
例如,如果用户定义:
type Member struct {
ID string
Firs
我使用postgres SQL作为数据库。
-------------------------
id | name | value |
-------------------------
1 | john | {"id":"0001"}
-------------------------
上面是简单的json,但在应用程序级别上,Json非常大。
那么,一旦我们将json数据上传到jet中,如何通过在jet中创建管道来处理json数据。
任何简单的建议都将有助于开始这方面的工作。
谢谢..
我正在尝试从postgres检索一些数据,并将它们作为json打印到localhost/db中。我在没有json的情况下成功地印刷了它们,但我需要它们在json中。
main.go:
package main
import (
"database/sql"
"encoding/json"
"fmt"
"log"
"net/http"
_ "github.com/lib/pq"
)
type Book struct {
isbn str
我正在考虑将一些主厨run_lists转换为标记,并想要自动化这个过程。
到目前为止,我所做的是创建了一个运行如下的变量:
# write to file instead of directly to variable for archival purposes
os.system("knife search '*:*' -a expanded_run_list -F json > /tmp/hostname_runlist.json")
data = json.load(open('/tmp/hostname_runlist.json')
更新关系表时:
CREATE TABLE foo ( id serial primary key, credit numeric);
UPDATE foo SET bar = bar + $1 WHERE id = $2;
但是,JSON中的等效内容不起作用:
CREATE TABLE foo ( id serial primary key, data json);
UPDATE foo SET data->'bar' = data->'bar' + $1 WHERE id = $2;
我得到的错误是error: syntax error at or
我正在使用Postgres数据库,有一个表如下所示
Table Name: Test
id firstname lastname
1 Sam Crews
2 John Dave
我试图以JSON格式返回结果集,但没有运气
预期:
[{"1": {"firstname": "Sam", "lastname": "Crews"}},
{"2": {"firstname": "John", "la