database - 无法使用 go_client PUT GridDB 容器

标签 database go nosql in-memory-database griddb

我正在尝试 PUT 我的 GridDB 容器(一个供我网站上的用户使用的简单容器),但它遇到了问题。

我已经确认 go_client 的示例代码可以工作,因此这不是构建不当或任何此类问题的问题。

func getAdminUsers(c echo.Context) error {
    var tmp []interface{}

    col, err1 := gridstore.GetContainer("users")
    if err1 != nil {
        fmt.Println("get container failed")
    }

col.SetAutoCommit(true)

// Create normal query
    query, err := col.Query("SELECT *")
    if err != nil {
        fmt.Println("create query failed")
    }
    //Execute query
    rs, err := query.Fetch(true)
    if err != nil {
        fmt.Println("create rs from query failed")
    }
    for rs.HasNext() {
        // Update row
        rrow, err := rs.NextRow()
        if err != nil {
            fmt.Println("NextRow from rs failed")
        }
        tmp = rrow
        fmt.Println("Person: name=", rrow[0], " status=", rrow[1], " count=", rrow[2], " lob=", rrow[3])
    }

    col.Commit()
    fmt.Println(tmp)
    return c.Render(http.StatusOK, "admin", "admin")
}

我的容器已正确写入,但由于某种原因查询无法正常工作。这是相当基本的代码,所以我希望我在某处遗漏了一些小细节。

到目前为止,我在这里收到错误:“获取容器失败”。我的错误可能来自写入或查询,尽管我怀疑它来自查询。

最佳答案

您可以尝试使用 CreateContainerInfo 来初始化容器吗?如果容器不存在,它将创建容器,但如果存在,这是调用容器的更可靠的方法。

conInfo, _ := griddb_go.CreateContainerInfo("Users",
            [][]interface{}{
                {"email", griddb_go.TYPE_STRING},
                {"password", griddb_go.TYPE_BLOB}},
            griddb_go.CONTAINER_COLLECTION,
            true)
        col, _ := gridstore.PutContainer(conInfo, false)

关于database - 无法使用 go_client PUT GridDB 容器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53937202/

相关文章:

php - Go中如何实现PHP的gzopen?

Golang Dockerfile : Unable to find packages in docker build but runs normally

postgresql - 如何使用 GORM 存储嵌入式结构?

Mongodb指南针不断显示激活插件

javascript - 查询中的 Meteor MongoDB 表达式 "if"

PHP SQL 循环输出为 0 行

sql - 如何通过 order by 降低 sql select 的成本?

mongodb - 电子商务的 NoSQL 数据库

mysql - 保存 SQL 查询供以后使用,或将此数据作为列上传到我的数据库中

sql - 如何按小时从oracle数据库中获取数据