1

我正在尝试放置我的 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")
}

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

截至目前,我在这里遇到错误:“get container failed”。我的错误可能来自写入或查询,尽管我怀疑它来自查询。

4

1 回答 1

0

您可以尝试改用 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)
于 2019-10-15T00:50:33.023 回答