1

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 では戻り値の Type がmapなのですが、以下のようには扱えません。

    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 を取得するにはどうすればよいですか? 提案ありがとう!

4

1 に答える 1