【问题标题】:How can I handle result value of Go version faunaDB API?我如何处理 Go 版本的 animalDB API 的结果值?
【发布时间】:2020-05-27 14:31:04
【问题描述】:

使用 AnimalDB 的 Go 版本 API,我如何处理 API 的结果?

我可以得到JS版本API创建的文档ID为ret.ref.value.id,如下:

client.query(
    q.Create(
        q.Collection(this.collection), 
          { data: JSON.parse(textarea_data) }))
.then( (ret) => {
  document_id = ret.ref.value.id;
}

但是,使用 Go API,返回值的类型是 ma​​p,但我无法处理如下:

    ret, _ := client.Query(
        f.Create(
            f.Collection("label"),
            f.Obj{"data": f.Obj{"title": "What I had for breakfast .."}},
        ),
    )
    fmt.Println(ret)
    fmt.Println(ret["ref"])

Println(ret)的结果如下:

map[data:map[title:What I had for breakfast ..] ref:{257136925662511627 0x9fa1a0 0x9fa1a0 <nil>} ts:1581483731810000]

Println(ret["ref"])的结果错误如下:

invalid operation: ret["ref"] (type faunadb.Value does not support indexing)

如何获取创建的文档 ID?谢谢你的建议!

【问题讨论】:

    标签: go faunadb


    【解决方案1】:

    我可以这样得到:

        var ref f.RefV
    
        ret, _ := client.Query(
            f.Create(
                f.Collection("label"),
                f.Obj{"data": f.Obj{"title": "What I had for breakfast .."}},
            ),
        )
    
        if err := ret.At(f.ObjKey("ref")).Get(&ref); err == nil {
            fmt.Println(ref.ID)
        }
    

    重点是Value.At()ObjKey()Get()RefV

    【讨论】:

      猜你喜欢
      • 2021-06-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-04-24
      • 2023-03-17
      • 1970-01-01
      相关资源
      最近更新 更多